From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 13 22:32:07 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0C4369DB; Thu, 13 Mar 2014 22:32:07 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:214:c2ff:fe64:b2d3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D84718EB; Thu, 13 Mar 2014 22:32:06 +0000 (UTC) Received: from [192.168.1.2] (pool-173-52-87-124.nycmny.fios.verizon.net [173.52.87.124]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: ryao) by smtp.gentoo.org (Postfix) with ESMTPSA id E893A33FAD9; Thu, 13 Mar 2014 22:32:04 +0000 (UTC) Message-ID: <532231EA.5090601@gentoo.org> Date: Thu, 13 Mar 2014 18:32:10 -0400 From: Richard Yao User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 MIME-Version: 1.0 To: Julio Merino Subject: Re: GSoC proposition: multiplatform UFS2 driver References: <5321EF7E.7000500@gentoo.org> <53223140.9030208@gentoo.org> In-Reply-To: <53223140.9030208@gentoo.org> X-Enigmail-Version: 1.6 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="u0B2s4q76vRBhNuqVFtM7ERWW8rfbKRX6" Cc: freebsd-hackers@freebsd.org, CeDeROM X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Mar 2014 22:32:07 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --u0B2s4q76vRBhNuqVFtM7ERWW8rfbKRX6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 03/13/2014 06:29 PM, Richard Yao wrote: > On 03/13/2014 06:12 PM, Julio Merino wrote: >> On Fri, Mar 14, 2014 at 2:48 AM, Richard Yao 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 dat= a >>>> 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 caus= es >>> much pain) and Windows' IFS is very different from the SunOS VFS that= >>> has become the basis for implementing multiple filesystems on differe= nt >>> UNIX implementations and copy-cats. >> [...] >> >> 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. >=20 > This would work, but I think it dramatically reduces the value of the > result. >=20 >> 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".) >> >> Some links: >> >> 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 kerne= l > 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 i= t > is much more complex than writing a FUSE filesystem driver, especially > given the existence of user-mode Linux. That would permit the filesyste= m > 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. >=20 > http://user-mode-linux.sourceforge.net/ >=20 > 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 t= o > ZFS in desirability. >=20 Something worth pointing out here that I missed is that rump could be used to develop a port of FreeBSD UFS2 to NetBSD. ;) --u0B2s4q76vRBhNuqVFtM7ERWW8rfbKRX6 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/ iQIcBAEBAgAGBQJTIjHxAAoJECDuEZm+6ExkoS0P/iuFyMM/QDj7REH5v8hvhLn1 8iWzWr6vJ0syRUf2KXNLHaz7IpkgYjESSWnEgZfIaoMN/QgkQRiKBFOYfbg1jw09 Ve1kInk7CY/0DoEf3Bokw4stgArzURhT4bjQGoNhUD8sRXxFbMdvX0pqdsv7JIFq zKPkJuNfTdV+32SYlNlWQoIj8P+nKfHj6EH4ghdEVCyoxFdtA5uO5eY6bUi2DHUj kcJP8tBzinGvP0HYzeZ4HtQbS0Zhln7WCHI2x9iEHRUq0ADZMrTE8+14icz5hoRz bD9k3KasOsMa0TFTyGGhML7BG6GAF3/7FMSH01QHjCPP/DxFREbJqwSjdNzHstvr 2sqP/QXercOeanweZVK0CmAIveezpkqDzQjxBCRhsgoJAEVFXdIoGvH8oC4641Oo XOoC4x/6CnDKs1sE9fHHTqgeE6hNb6vgbUUCg1aVqZta4TgVUk8lrxHdvuJWoCIZ ysSfHoGbIgbVlRIriuHpTIDdv/YQFftR5KRO0qdYBe78T1gD03whcAqsW+QSNGmS G5iCsPmcgvGGqI7sY15+5yu1qJr5OlpterV1FlL7oC558igdCi+BUc0EA5k3GwJm RECzt7P7YLuyHZ1DMu6NiBkTsScTdrUOPb4ZKA5UH0AowejGS8ga7f2WTNGGe32d n1JHahZoBkjJCh7oCs+J =zNGF -----END PGP SIGNATURE----- --u0B2s4q76vRBhNuqVFtM7ERWW8rfbKRX6--