Rob Browning <
r...@defaultvalue.org> writes:
> Rob Browning <
r...@defaultvalue.org> writes:
>
>> Hmm, don't know. I'll plan to take a look at fuse support after 0.34.
>
> ...I've wondered in the past about a libfuse lowlevel API (inode) based
> implementation, and looks like I may have a "does nothing" skeleton of
> that working (just the skeleton was straightforward) with libfuse 3. So
> I might poke at it in the background for a bit, see where it leads (but
> even if it worked out, it would be for after 0.34).
On NetBSD, there is puffs(4) "Pass-to-Userspace Framework File System"
and refuse(3) which implements the FUSE high-level API using the
(slightly different) puffs kernel facilities.
My understanding is that the low-level API is very much "open /dev/fuse
and speak the protocol". NetBSD has a daemon that provides a /dev/fuse
socket and translates, which I believed was written for glusterfs.
I'm unclear on the state of FUSE of macOS, and other non-Linux platforms
in general.
My understanding from watching FUSE over many years is that doctrine is
that one should use the high-level API as simpler and easier all around,
unless there is a good reason why that can't be done. I expect that
using the high-level API will be much better in terms of portability.
I would expect, so far, without having gone down the path, that mfusepy
would be a relatively easy adaptation, staying with the high-level API.