diff options
-rw-r--r-- | mount/mount.8 | 10 | ||||
-rw-r--r-- | mount/mount.c | 20 |
2 files changed, 22 insertions, 8 deletions
diff --git a/mount/mount.8 b/mount/mount.8 index 21d9245a3..2cfaae243 100644 --- a/mount/mount.8 +++ b/mount/mount.8 @@ -1900,6 +1900,16 @@ mount failure .BR 64 some mount succeeded +.SH NOTES +The syntax of external mount helpers is: + +.br +.BI "/sbin/mount.<suffix> spec dir [\-sfnv] [\-o options] +.br + +where the <suffix> is filesystem type and \-sfnvo options have same meaning like +standard mount options. + .SH FILES .TP 18n .I /etc/fstab diff --git a/mount/mount.c b/mount/mount.c index 28e75ce6f..6c9aec077 100644 --- a/mount/mount.c +++ b/mount/mount.c @@ -499,18 +499,22 @@ check_special_mountprog(const char *spec, const char *node, const char *type, in setuid(getuid()); setgid(getgid()); oo = fix_opts_string (flags, extra_opts, NULL); - mountargs[i++] = mountprog; - mountargs[i++] = spec; - mountargs[i++] = node; + mountargs[i++] = mountprog; /* 1 */ + mountargs[i++] = spec; /* 2 */ + mountargs[i++] = node; /* 3 */ + if (sloppy && strncmp(type, "nfs", 3) == 0) + mountargs[i++] = "-s"; /* 4 */ + if (fake) + mountargs[i++] = "-f"; /* 5 */ if (nomtab) - mountargs[i++] = "-n"; + mountargs[i++] = "-n"; /* 6 */ if (verbose) - mountargs[i++] = "-v"; + mountargs[i++] = "-v"; /* 7 */ if (oo && *oo) { - mountargs[i++] = "-o"; - mountargs[i++] = oo; + mountargs[i++] = "-o"; /* 8 */ + mountargs[i++] = oo; /* 9 */ } - mountargs[i] = NULL; + mountargs[i] = NULL; /* 10 */ i = 0; while(mount_debug && mountargs[i]) { |