CEPH + FreeBSD

Greg Troxel gdt at ir.bbn.com
Wed Sep 16 01:03:04 UTC 2015


Jordan Hubbard <jordanhubbard at 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
> “puffs” reimplementation?  I’m not saying the FUSE code is awesome and
> in need of defending, I’m just trying to understand the rationale
> behind “reFUSING” 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’s 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 File
     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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 180 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20150915/760ab334/attachment.bin>


More information about the freebsd-fs mailing list