RFC: use of mdmfs "new" options in fstab

Gunther Nikl gni at gecko.de
Fri Oct 13 02:24:34 PDT 2006


Oliver Fromme wrote:
> Matteo Riondato wrote:
>  > This means that it's impossible to use mdmfs "new" option
>  > in fstab, which is quite limiting.
> 
> Yes, it's a real PITA.  For example, I would like to mount
> several memory file systems from within fstab, but I don't
> need nor want soft-updates.  Howver, the -S option is not
> available for mount_mfs.

I was using a mfs /tmp on a 4.x setup and migrating it to 5.x
was harder than expected. This included the wish to disable
softupdates and using FFSv1. Before I noticed the rc support
for md /tmp, I created a /sbin/mount_md script to get access
to all fancy mdmfs options from within /etc/fstab.

> (On a related note, I also don't want the .snap directory
> to appear on those memory file systems.  newfs(8) has the
> -n option to suppress it, but mdmfs doesn't.)

Attached is a patch (against 6-STABLE) that corrects the -n
option. Its probably an oversight that -n has still the old
meaning there. FWIW, the patch is incomplete since the manpage
isn't changed.

>  > 2)disable bug-for-bug compatibility with mount_mfs when the
>  > program name is "mount_mfs" or "mfs". The "-C" otion will still be
>  > available for those who want compatibility. See attached
>  > mdmfs.c.diff .
>  > 
>  > I would prefer option #2, but any comment is really appreciated.
> 
> Personally, I would love to see #2 committed (and MFCed).

Yes, that would be worthwhile.

> Therefore I propose that your patch #2 be slightly
> modified:  When mdmfs is called as mount_mfs, don't
> imply -C (hence all options are available), but do
> imply -p 1777.  Then it shouldn't break any existing
> usages, as far as I can imagine.

Good catch. At first I missed the implied -p 1777 when
switching from mfs to my homegrown mount_md script.

Gunther

-------------- next part --------------
Index: mdmfs.c
===================================================================
RCS file: /home/ncvs/src/sbin/mdmfs/mdmfs.c,v
retrieving revision 1.23.2.1
diff -u -r1.23.2.1 mdmfs.c
--- mdmfs.c	4 Nov 2005 19:37:14 -0000	1.23.2.1
+++ mdmfs.c	25 May 2006 12:21:44 -0000
@@ -121,7 +121,7 @@
 		compat = true;
 
 	while ((ch = getopt(argc, argv,
-	    "a:b:Cc:Dd:e:F:f:hi:LlMm:Nn:O:o:p:Ss:t:Uv:w:X")) != -1)
+	    "a:b:Cc:Dd:e:F:f:hi:LlMm:NnO:o:p:Ss:t:Uv:w:X")) != -1)
 		switch (ch) {
 		case 'a':
 			argappend(&newfs_arg, "-a %s", optarg);
@@ -187,7 +187,7 @@
 			norun = true;
 			break;
 		case 'n':
-			argappend(&newfs_arg, "-n %s", optarg);
+			argappend(&newfs_arg, "-n");
 			break;
 		case 'O':
 			argappend(&newfs_arg, "-o %s", optarg);
@@ -666,15 +666,15 @@
 		name = "mdmfs";
 	if (!compat)
 		fprintf(stderr,
-"usage: %s [-DLlMNSUX] [-a maxcontig] [-b block-size] [-c cylinders]\n"
+"usage: %s [-DLlMNnSUX] [-a maxcontig] [-b block-size] [-c cylinders]\n"
 "\t[-d rotdelay] [-e maxbpg] [-F file] [-f frag-size] [-i bytes]\n"
-"\t[-m percent-free] [-n rotational-positions] [-O optimization]\n"
-"\t[-o mount-options] [-p permissions] [-s size] [-v version]\n"
-"\t[-w user:group] md-device mount-point\n", name);
+"\t[-m percent-free] [-O optimization] [-o mount-options]\n"
+"\t[-p permissions] [-s size] [-v version] [-w user:group]\n"
+"\tmd-device mount-point\n", name);
 	fprintf(stderr,
-"usage: %s -C [-lNU] [-a maxcontig] [-b block-size] [-c cylinders]\n"
+"usage: %s -C [-lNnU] [-a maxcontig] [-b block-size] [-c cylinders]\n"
 "\t[-d rotdelay] [-e maxbpg] [-F file] [-f frag-size] [-i bytes]\n"
-"\t[-m percent-free] [-n rotational-positions] [-O optimization]\n"
-"\t[-o mount-options] [-s size] [-v version] md-device mount-point\n", name);
+"\t[-m percent-free] [-O optimization] [-o mount-options] [-s size]\n"
+"\t[-v version] md-device mount-point\n", name);
 	exit(1);
 }


More information about the freebsd-arch mailing list