Date: Fri, 7 Mar 2014 17:19:45 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: Ian Lepore <ian@FreeBSD.org> Cc: freebsd-rc@FreeBSD.org, freebsd-arch <freebsd-arch@FreeBSD.org> Subject: Re: Teach mdmfs about tmpfs and use tmpfs in rc scripts Message-ID: <20140307151945.GK24664@kib.kiev.ua> In-Reply-To: <1394148413.1149.348.camel@revolution.hippie.lan> References: <1394148413.1149.348.camel@revolution.hippie.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Thu, Mar 06, 2014 at 04:26:53PM -0700, Ian Lepore wrote:
> A recent discussion on arm@ about using tmpfs instead of md(4) spurred
> me to do something I've been wanting to do for a while: enhance mdmfs
> so that it can configure tmpfs as well as md+ffs, and update the rc
> scripts to make use the the feature.
>
> Attached are diffs to do this (man page updates not in there yet).
>
> mdmfs recognizes two new values for the md-device argument: tmpfs and
> auto. If you request 'tmpfs' you get it, or it fails if tmpfs is not
> present in the kernel. If you request 'auto' it will use tmpfs if it's
> present in the kernel and the other options don't include multilabel MAC
> (which tmpfs doesn't handle, as near as I can tell). Other options
> which have no meaning with tmpfs (such as setting the number of inodes)
> are silently ignored.
>
> The rc scripts are updated to add a new mfs_type knob, which defaults to
> "auto". This in effect automatically updates folks to use tmpfs instead
> of md as long as it's present and they aren't using the one option that
> forbids it (multilabel MAC).
>
> Thoughts?
>
> -- Ian
>
> Index: sys/fs/tmpfs/tmpfs_vfsops.c
> ===================================================================
> --- sys/fs/tmpfs/tmpfs_vfsops.c (revision 262759)
> +++ sys/fs/tmpfs/tmpfs_vfsops.c (working copy)
> @@ -60,6 +60,8 @@ __FBSDID("$FreeBSD$");
>
> #include <fs/tmpfs/tmpfs.h>
>
> +FEATURE(tmpfs, "Efficient memory file system");
> +
The existing way to check for the presence of the filesystem module
in the kernel is sysctl vfs.conflist or getvfsbyname(3) wrapper around
it. I suspect that the interface is unknown because the information
about fs module presence in kernel is pretty much useless: nmount(2)
syscall auto-loads required fs module if not already present.
That said, the feature for tmpfs is redundand and should not be added.
I do not see adding the ability to issue 'mount -t tmpfs ...' command
to mdmfs(8) as right approach. The helper is already complicated and
its single-purpose functionality of newfs-ing md(4) IMO should be left
as is. If you want to to have /var on tmpfs, why not change rc.d/var ?
It would be much simpler, since the change would be one-liner for
mount_md line.
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)
iQIcBAEBAgAGBQJTGeOQAAoJEJDCuSvBvK1BTAIP/139L6LJqJHByfKHXdILpHkt
rFoP+tidt0Q9gXbko5wQLCSgujLPTe/y0KF1nz46EyJanqf3iwmz+CHKXfdOxBcy
Gefrypx3WAHCLkgAOIIyFecTFaTh7TKMy1KTtpstj4a3pIKKwgJUd0RC7xZQB8it
6tM7DDIlDxP4Sribio0sSgjzxDY0pTQyKRq5gDz/eV2f3/vxBSm91O4ew+0tZTXy
0Cy1mqPlwZ5zC3Oh3XufSa5SPz5c22LCN0Z29gizhnDkreeGWZO3THPMWU8kZ31u
jb+VegWA5k4uAkcmAbJNvk4fRTqAal8pBSLhIbowFz4Bppgm8kIOTEIR75R+Rccz
MW6V9yt316+ngzuUwHNlB1lgPclXCv/beskbLZQ3e3uSaCU8pNc1pxNWmJtTL7p7
dfugxnRpAdizoYfMQsABf1fjQH8oQ08PIJsGFqdP2gP9AHUgtzI7p3Yg2XQiaaaJ
unhyrYMEezrTt2bc9gmOAqDiOX6GepLjEn6lR0wq9kNXYswfZBHjvdafvivTaWaq
oLLqjKiXNHagFqfPQtIb5WPBRQjPtCWCw1nTBiY7O8FR+T5HRiNqlgvwZ9z4OEqI
TeemIfL39l+7n7IT8cHlRPyOeEeBfLMQqBLkv7WyvkNcvDdR7iCtbyO2CDXkhV60
qMhfOZBqh7rEeyCz4bBh
=y87W
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140307151945.GK24664>
