Date: Tue, 15 Sep 2015 20:43:00 -0400 From: Greg Troxel <gdt@ir.bbn.com> To: Jordan Hubbard <jordanhubbard@icloud.com> Cc: freebsd-fs@freebsd.org, Rakshith Venkatesh <vrock28@gmail.com>, Xin LI <d@delphij.net>, Josh Paetzel <jpaetzel@ixsystems.com>, Sean Fagan <sef@ixsystems.com> Subject: Re: CEPH + FreeBSD Message-ID: <rmipp1ji48b.fsf@fnord.ir.bbn.com> In-Reply-To: <298B99CD-45A2-40AB-9E16-5AD983AFE1B2@icloud.com> (Jordan Hubbard's message of "Tue, 15 Sep 2015 17:27:41 -0700") References: <CANw0z%2BVhYCPNWrjByXLf8yO9wA0sc05_8eVJsM-McjcGNU9KQg@mail.gmail.com> <CA%2BKW7xQrN60kH37hu2Keja60a0huVjAyP6=SQNSrqus2EUMUMA@mail.gmail.com> <CANw0z%2BXrwK=6y%2BLpoiewc_eLDBYB5UZ5XpU6-YP0-K2FKwSa5w@mail.gmail.com> <A19FDEB5-1DEF-4EBF-8E9E-A1AD4688F1AA@icloud.com> <100306673.40344407.1441279047901.JavaMail.zimbra@uoguelph.ca> <1564D4FA-9BE1-4E37-8E91-F14A009D6B62@icloud.com> <rmitwqwmtv3.fsf@fnord.ir.bbn.com> <298B99CD-45A2-40AB-9E16-5AD983AFE1B2@icloud.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Jordan Hubbard <jordanhubbard@icloud.com> writes: > Thanks for the pointer to this work. It sounds like the FUSE code in > FreeBSD and NetBSD have diverged significantly. I would describe it that FreeBSD has code ported from FUSE (but I'm not sure) and NetBSD has a puffs-based reimplementation, and there isn't much if any common ancestry. > Does anyone know what originally drove NetBSD in the direction of this > =E2=80=9Cpuffs=E2=80=9D reimplementation? I=E2=80=99m not saying the FUS= E code is awesome and > in need of defending, I=E2=80=99m just trying to understand the rationale > behind =E2=80=9CreFUSING=E2=80=9D it. :) I think it was a combination of discomfort with the code and wanting to have a BSD-licensed implementation. There were papers at AsiaBSDCON 2007, I believe. It may also be related to the rump concept, where kernel code can run in userspace and be glued back into the kernel. That requires proxying vnodeops to the userspace program, which (wave hands wildly) is a little more involved than what FUSE requires. On NetBSD you can e.g mount a msdos fs with the rump option so that the msdos kernel code is actually in a user process, which accesses the disk, and vnodeops in the normal kernel get passed to the process. So it's mostly like kernel code with an extra rpc layer and you can run gdb on the user process and if it crashes you just lose the fs and not the whole kernel. > If it=E2=80=99s also demonstrably and clearly better, we should probably = make > this a target for merging between the *BSDs since we have a growing > number of foreign-filesystem import and now gluster targets that use > it. I think it would be great if you snarfed puffs (and rump). We need to take ZFS and jails from FreeBSD :-) References from NetBSD puffs(3): Antti Kantee, "puffs - Pass-to-Userspace Framework File System", Proceedings of AsiaBSDCon 2007, pp. 29-42, March 2007. Antti Kantee, Using puffs for Implementing Client-Server Distributed F= ile Systems, Helsinki University of Technology, Tech Report TKK-TKO-B157, September 2007. Antti Kantee and Alistair Crooks, "ReFUSE: Userspace FUSE Reimplementation Using puffs", EuroBSDCon 2007, September 2007. Antti Kantee, "Send and Receive of File System Protocols: Userspace Approach With puffs", Proceedings of AsiaBSDCon 2008, pp. 55-70, March 2008. A more recent summary that talks about gluster http://hcpnet.free.fr/pubz/#fuse --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlX4uxQACgkQ+vesoDJhHiWbmACeJWYd/sBjou3d6bLFY81qFh4f RUkAn0F/MdrXMXz++sOYnfyyeaHba7LZ =lcfz -----END PGP SIGNATURE----- --=-=-=--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?rmipp1ji48b.fsf>