summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraiju <aiju@phicode.de>2011-05-08 23:00:11 +0000
committeraiju <aiju@phicode.de>2011-05-08 23:00:11 +0000
commit28859a83f41b4c5231865cc556665f2060c70010 (patch)
tree76a08f8958ca5d0e42a9c908124ddd363e04140a
parent2f3b4175f6cf06703d2c85f3524f2c7e99874ca7 (diff)
downloadplan9front-28859a83f41b4c5231865cc556665f2060c70010.tar.xz
extended ramfs (-abc)
-rw-r--r--sys/src/cmd/ramfs.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/sys/src/cmd/ramfs.c b/sys/src/cmd/ramfs.c
index 835a94bf9..534edc640 100644
--- a/sys/src/cmd/ramfs.c
+++ b/sys/src/cmd/ramfs.c
@@ -157,9 +157,11 @@ main(int argc, char *argv[])
int p[2];
int fd;
int stdio = 0;
+ int mountflags;
service = "ramfs";
defmnt = "/tmp";
+ mountflags = 0;
ARGBEGIN{
case 'i':
defmnt = 0;
@@ -186,9 +188,20 @@ main(int argc, char *argv[])
defmnt = 0;
service = EARGF(usage());
break;
+ case 'b':
+ mountflags |= MBEFORE;
+ break;
+ case 'c':
+ mountflags |= MCREATE;
+ break;
+ case 'a':
+ mountflags |= MAFTER;
+ break;
default:
usage();
}ARGEND
+ if(mountflags == 0)
+ mountflags = MREPL | MCREATE;
if(pipe(p) < 0)
error("pipe failed");
@@ -239,7 +252,7 @@ main(int argc, char *argv[])
break;
default:
close(p[0]); /* don't deadlock if child fails */
- if(defmnt && mount(p[1], -1, defmnt, MREPL|MCREATE, "") < 0)
+ if(defmnt && mount(p[1], -1, defmnt, mountflags, "") < 0)
error("mount failed");
}
exits(0);
@@ -902,6 +915,6 @@ estrdup(char *q)
void
usage(void)
{
- fprint(2, "usage: %s [-Dipsu] [-m mountpoint] [-S srvname]\n", argv0);
+ fprint(2, "usage: %s [-Dipsubac] [-m mountpoint] [-S srvname]\n", argv0);
exits("usage");
}