Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Mar 2014 18:29:20 -0400
From:      Richard Yao <ryao@gentoo.org>
To:        Julio Merino <jmmv@freebsd.org>
Cc:        freebsd-hackers@freebsd.org, CeDeROM <cederom@tlen.pl>
Subject:   Re: GSoC proposition: multiplatform UFS2 driver
Message-ID:  <53223140.9030208@gentoo.org>
In-Reply-To: <CAFY7cWCqTUmASq3vSiRGtoiUOg4Us--o-VOxEp5L5R7wNN%2B2tw@mail.gmail.com>
References:  <CAFYkXjm1fCQDSvHTHSpmAbLPqNz0kwaWf%2BajLdaoBD3bLnMDAA@mail.gmail.com> <5321EF7E.7000500@gentoo.org> <CAFY7cWCqTUmASq3vSiRGtoiUOg4Us--o-VOxEp5L5R7wNN%2B2tw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--as4mxJEFeEtn235GvjhNqfwdGaWU73i6k
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 03/13/2014 06:12 PM, Julio Merino wrote:
> On Fri, Mar 14, 2014 at 2:48 AM, Richard Yao <ryao@gentoo.org> wrote:
>> On 03/12/2014 12:54 PM, CeDeROM wrote:
>>> My proposition is to create universal UFS2 driver that would work on
>>> Windows, Linux, and maybe other OS, so we can use native UFS2 as data=

>>> partition among various OS.
>>>
>>
>> I like this idea. In particular, I would like to have UFS2 SU+J
>> available for use in certain Linux VMs and was thinking about this
>> possibility earlier in the week. However, I no longer qualify to be a
>> GSoC student and I do not have time to do it myself.
>> [...]
>> Speaking as a kernel filesystem hacker (with most of my experience in
>> Linux), I think this could be too ambitious depending on how you add
>> detail. In particular, Linux has a moving target of a VFS (which cause=
s
>> much pain) and Windows' IFS is very different from the SunOS VFS that
>> has become the basis for implementing multiple filesystems on differen=
t
>> UNIX implementations and copy-cats.
> [...]
>=20
> Something worth pointing out here: in NetBSD, and thanks to rump, you
> can already get the *verbatim* in-kernel code of UFS2 built on a
> variety of host platforms. You could very easily turn the existing
> file system code into a FUSE file-system for Linux, for example, or
> write the necessary shims to bundle the code into a kernel driver.

This would work, but I think it dramatically reduces the value of the
result.

> In other words and in my opinion: rewriting file system code from
> scratch is outside of the scope of GSoC, but writing the glue code for
> the above to happen doesn't sound too crazy. (The only problem may be
> if NetBSD's UFS2 driver is not compatible with FreeBSD's... but I
> believe they should be for the "basic stuff".)
>=20
> Some links:
>=20
> https://github.com/rumpkernel/buildrump.sh
> http://wiki.netbsd.org/rumpkernel/
>=20

There is no need to write the code from scratch. He would just need to
take the existing code and wrap it so that it builds as part of a kernel
module for other kernels. The only things that need to be written is
glue code for mapping *BSD interfaces to foreign ones. I do not think it
is much more complex than writing a FUSE filesystem driver, especially
given the existence of user-mode Linux. That would permit the filesystem
driver for Linux to be developed in userland on FreeBSD, much like a
FUSE driver. Once the wrapper is written, the things that need revision
to support other kernels should be rather clearly defined.

http://user-mode-linux.sourceforge.net/

That being said, I do not like the idea of using NetBSD's UFS2 code. It
lacks Soft-Updates, which I consider to make FreeBSD UFS2 second only to
ZFS in desirability.


--as4mxJEFeEtn235GvjhNqfwdGaWU73i6k
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJTIjFDAAoJECDuEZm+6Exkc4UP/i0WymXUJn+klvxwYmO/eG/T
JX2lKDv8AeR1UAVrlMPzhbkgvq1WFmfyUAxJGxnAHZP2uWbONQRpJWjmtrUQZWe9
G5RPYlXtcOHxytu/Caw+lFCnL0pl1z2oI3VWzglMmBRcE2QAn8SgA7//kGSjlDO4
43KX3uxUkZFpoRc25a0SjqylHmpdjxUa3Lu3tnq3dSHkpptdnySYI2NtiPkyp3L3
9qmqSPDxkqY52/fIYbuw8iuHWaBgBzVPi9fF4CzfxXt3gKRzIULRkVP9vrUzkOc6
/hGn8Y+myDVWC+bBnEPrrHvOM4soLA7dnlX3EVGjm+woi2odSGcSz/6gF58FJ7Lc
NeLuC1sqzzE8vRCtNUALcI5prndI7RddJiyX9YaqDOdrqygV8jocxly0BsowWDhV
rc14UtXcIGrw2nulxfGsKzwDWtF5L2gXHgjyHS8pN2tX2E/kZWD3boJabh9fwK46
CXwka7/k1EbMbMPD8FVg1oE8YwnFU0cuPN2mHyPJrdRW7dNSNC1L2LMOHpVL8Qw3
+BKF3BSP0eSBXusZ5hl4JDA08cXHG+l8fZblvX3ODo1+YJldRsSM0OEN9ZI3dBYj
D3MiGyMrQTwhOt0kf/8wCtSM1CzP5rGkGTLtl+/HHAtSmPU83deX8YQxa83VWglZ
t2a37JRVB5W4xZYlcvmA
=bGtm
-----END PGP SIGNATURE-----

--as4mxJEFeEtn235GvjhNqfwdGaWU73i6k--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53223140.9030208>