diff options
author | aiju <aiju@phicode.de> | 2011-05-08 23:00:11 +0000 |
---|---|---|
committer | aiju <aiju@phicode.de> | 2011-05-08 23:00:11 +0000 |
commit | 28859a83f41b4c5231865cc556665f2060c70010 (patch) | |
tree | 76a08f8958ca5d0e42a9c908124ddd363e04140a | |
parent | 2f3b4175f6cf06703d2c85f3524f2c7e99874ca7 (diff) | |
download | plan9front-28859a83f41b4c5231865cc556665f2060c70010.tar.xz |
extended ramfs (-abc)
-rw-r--r-- | sys/src/cmd/ramfs.c | 17 |
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"); } |