Port fuse from FreeBSD

Rimvydas Jasinskas rimvydasjas at gmail.com
Thu Sep 15 22:01:12 PDT 2016


I'm in, let me know what parts you need in dports.



On Fri, Sep 16, 2016 at 12:59 AM, Tomohiro Kusumi
<kusumi.tomohiro at gmail.com> wrote:
> I'm thinking about porting fuse from FreeBSD. Several benefits by doing this.
>
> 1. There are some good fuse based fs like sshfs, ntfs-3g and maybe
> some others I'm not really aware of (like glusterfs if it ever worked
> on BSD ?).
>
> 2. puffs in DragonFly is broken according to other devs/users, and no
> one is really going to fix it (which is fine with me too).
>
> 3. We probably don't need (a broken) puffs if we get (a working) fuse,
> given the fact that most userspace filesystems are written for Linux
> fuse, but not for NetBSD puffs. NetBSD puffs seems to provide a some
> sort of emulation layer for compatibility with fuse, but ours
> apparently doesn't because it's broken.
>
> --
> I haven't written any code yet, and won't be for another 2-3 weeks,
> but was looking at fuse (a kernel subsystem in FreeBSD and Linux
> kernel), libfuse (userspace portion of fuse) and some specific
> filesystem implementations such as sshfs.
>
> The target will be the next DragonFly release which is 4.8. Not sure
> if I can make it if we're to release 4.8 within 2016 (which is only 4
> months from 4.6), but I should be able to make it otherwise with good
> enough stability for the initial release.
>
> The difficult part is that it's kinda difficult to tell how long it
> takes to port fuse, given the concept of the fuse itself. It's easy to
> imagine some sort of bugs will be exremely difficult to fix or even
> investigate.
>
> I know DragonFly users want ntfs(3g), but the initial release won't
> target ntfs. In theory, having fuse subsystem with good stability
> should mean it runs ntfs, but ntfs is probably way too complex to make
> it reliably work without bunch of try-and-errors within fuse itself.
>
> sshfs seems to be a good one for dogfooding the fuse on DragonFly once
> it starts to work, because sshfs isn't a toy fs (I think it's quite
> popular among Linux users) yet the code size isn't that huge, plus
> it's written by the same author as fuse in Linux kernel which
> guarantees good code quality.
>
> If porting a kernel subsystem goes as expected, I'll eventually need
> marino@ (or someone who is as good) to help with userspace. One of the
> issue with libfuse is that ./configure doesn't recognize DragonFly as
> a BSD, probably because our uname doesn't contain "BSD" (see around
> line 12000 of ./configure), and tries to compile with Linux specific
> code (e.g. mount(2) with 5 arguments instead of four). I may be able
> to fix these issues myself, but I doubt I do it in a right way.
>
> I'm also willing to fix any issues I may encounter on FreeBSD.
>
> If everything goes as expected, we can get rid of puffs in 4.8.



More information about the Users mailing list