Date: Fri, 12 Mar 2004 12:47:19 +0200 From: Vasil Dimov <vd@datamax.bg> To: FreeBSD-gnats-submit@FreeBSD.org Subject: bin/64153: mdmfs features via fstab Message-ID: <1079088439.210030.12109.nullmailer@sinanica.lg2a.datamax> Resent-Message-ID: <200403121050.i2CAoIvg040578@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 64153 >Category: bin >Synopsis: mdmfs features via fstab >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Mar 12 02:50:18 PST 2004 >Closed-Date: >Last-Modified: >Originator: Vasil Dimov >Release: FreeBSD 5.2.1-RELEASE-p1 i386 >Organization: DataMax >Environment: System: FreeBSD sinanica.lg2a.datamax 5.2.1-RELEASE-p1 FreeBSD 5.2.1-RELEASE-p1 #5: Thu Mar 11 13:16:46 EET 2004 root@sinanica.lg2a.datamax:/usr/src/sys/i386/compile/SINANICA-SMP i386 >Description: We don't have mount_XXX interface to mdmfs(8), so it's features cannot be used in fstab. >How-To-Repeat: We want the following line in /etc/fstab to create a malloc disk of size 32m and mount it to /mnt: md /mnt mfs rw,-M,-s32m,-Otime,-p1777 1 0 but it calls mount_mfs which does not know about -M. mount_FSTYPE is always searched and we can't call mdmfs. >Fix: some workaround can be to ln -s /sbin/mdmfs /sbin/mount_foo and use filesystem type foo in fstab. But what a stupid link must be laying in /sbin/ and what a new filesystem name to think of? It would be better to make mount_mfs operate like mdmfs as they are one program anyway. mdmfs can be called with -C to operate like the old mount_mfs (compatible mode) so I add -I (incompatible mode) to negate `-C' or `getprogname() = mount_mfs' meaning. What we get is `mount_mfs -I' working like mdmfs. So in fstab: md /mnt mfs rw,-I,-M,-s32m,-Otime,-p1777 1 0 The following is a simple "patch": ***** BEGIN mdmfs.c.-I.patch ***** --- mdmfs.c.orig Fri Mar 12 11:30:57 2004 +++ mdmfs.c Fri Mar 12 11:30:47 2004 @@ -118,7 +118,7 @@ compat = true; while ((ch = getopt(argc, argv, - "a:b:Cc:Dd:e:F:f:hi:LMm:Nn:O:o:p:Ss:t:Uv:w:X")) != -1) + "a:b:Cc:Dd:e:F:f:hIi:LMm:Nn:O:o:p:Ss:t:Uv:w:X")) != -1) switch (ch) { case 'a': argappend(&newfs_arg, "-a %s", optarg); @@ -157,6 +157,9 @@ break; case 'h': usage(); + break; + case 'I': + compat = false; break; case 'i': argappend(&newfs_arg, "-i %s", optarg); ***** END mdmfs.c.-I.patch ***** and the manual page of course: ***** BEGIN mdmfs.8.-I.patch ***** --- mdmfs.8.orig Fri Mar 12 12:06:26 2004 +++ mdmfs.8 Fri Mar 12 12:06:16 2004 @@ -160,6 +160,13 @@ .Ar file . .It Fl f Ar frag-size The fragment size of the file system in bytes. +.It Fl I +Incompatible (with mount_mfs(8)) mode. This is the default. +It can be used to exert the +.Nm +power via mount_mfs command or to negate the +.Fl C +flag, should such a need occur. .It Fl i Ar bytes Number of bytes per inode. .It Fl L ***** END mdmfs.8.-I.patch ***** Cheerz! >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1079088439.210030.12109.nullmailer>