summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/s6-mount.html12
-rw-r--r--src/minutils/s6-mount.c9
2 files changed, 14 insertions, 7 deletions
diff --git a/doc/s6-mount.html b/doc/s6-mount.html
index b12c505..083eda2 100644
--- a/doc/s6-mount.html
+++ b/doc/s6-mount.html
@@ -24,8 +24,8 @@
<h2> Interface </h2>
<pre>
- s6-mount -a
- s6-mount [ -r | -w ] [ -t fstype ] [ -o option[,option...] ] <em>device</em> <em>mntpoint</em>
+ s6-mount -a [ -z <em>fstab</em> ]
+ s6-mount [ -n ] [ -r | -w ] [ -t <em>fstype</em> ] [ -o <em>option</em>[,<em>option</em>...] ] <em>device</em> <em>mntpoint</em>
</pre>
<ul>
@@ -38,8 +38,12 @@
<h2> Options </h2>
<ul>
- <li> <tt>-a</tt>&nbsp;: read <tt>/etc/fstab</tt> instead of other arguments </li>
- <li> <tt>-t</tt> <em>fstype</em>&nbsp;: filesystem is of type <em>fstype</em>. Default: ext2. </li>
+ <li> <tt>-a</tt>&nbsp;: process <tt>/etc/fstab</tt> instead of command
+line arguments </li>
+ <li> <tt>-z</tt>&nbsp;<em>fstab</em>&nbsp;: read file at <em>fstab</em>
+instead of <tt>/etc/fstab</tt> </li>
+ <li> <tt>-n</tt>&nbsp;: ignored
+ <li> <tt>-t</tt>&nbsp;<em>fstype</em>&nbsp;: filesystem is of type <em>fstype</em>. Default: ext2. </li>
<li> <tt>-r</tt>&nbsp;: mount read-only </li>
<li> <tt>-w</tt>&nbsp;: mount read-write (default) </li>
<li> <tt>-o</tt> <em>option</em>&nbsp;: mount with option <em>option</em>.
diff --git a/src/minutils/s6-mount.c b/src/minutils/s6-mount.c
index 6970c05..318a4a0 100644
--- a/src/minutils/s6-mount.c
+++ b/src/minutils/s6-mount.c
@@ -10,7 +10,7 @@
#include <skalibs/djbunix.h>
#include "mount-constants.h"
-#define USAGE "s6-mount -a [ -z fstab ] | s6-mount [ -t type ] [ -o option[,option...] ]... device mountpoint"
+#define USAGE "s6-mount -a [ -z fstab ] | s6-mount [ -n ] [ -t type ] [ -o option[,option...] ]... device mountpoint"
#define BUFSIZE 4096
#define SWITCH(opt) do
@@ -93,15 +93,17 @@ int main (int argc, char const *const *argv)
char const *fstab = "/etc/fstab" ;
PROG = "s6-mount" ;
{
+ int doall = 0 ;
subgetopt_t l = SUBGETOPT_ZERO ;
for (;;)
{
- register int opt = subgetopt_r(argc, argv, "z:arwt:o:", &l) ;
+ register int opt = subgetopt_r(argc, argv, "nz:arwt:o:", &l) ;
if (opt == -1) break ;
switch (opt)
{
+ case 'n' : break ;
case 'z' : fstab = l.arg ; break ;
- case 'a' : return mountall(fstab) ;
+ case 'a' : doall = 1 ; break ;
case 't' : fstype = l.arg ; break ;
case 'w' : scanopt(&data, &flags, "rw") ; break ;
case 'r' : scanopt(&data, &flags, "ro") ; break ;
@@ -110,6 +112,7 @@ int main (int argc, char const *const *argv)
}
}
argc -= l.ind ; argv += l.ind ;
+ if (doall) return mountall(fstab) ;
}
if (!argc)
{