update on OpenBSD FUSE

292 views
Skip to first unread message

Eric Grosse

unread,
Jan 3, 2018, 6:18:49 PM1/3/18
to David Presotto, Frank Rehwinkel, Upspin
The FUSE implementation in the OpenBSD follows the customary C libfuse API but the kernel messages differ a lot from Linux, Mac, and FreeBSD.  With some advice from Jacek Masiulaniec, I adapted bazil.org/fuse but found that approach increasingly messy and unlikely to track future bazil.org changes.  At David Presotto's good suggestion, I changed my code to instead operate as a userland translator from the Linux-standard FUSE kernel message protocol to the OpenBSD FUSE kernel message protocol.  This might not be the fastest possible design, but it has the best chance of surviving changes to OpenBSD, bazil.org and upspinfs.

The current status is that my translator partly works, but OpenBSD FUSE is sometimes issuing messages that don't make sense to me.  I'm trying to learn enough about the kernel to debug this, but my computer science education was in other areas, so I'm essentially taking myself back to self-study grad school OS.  Be patient;  I'll eventually get there because I live on OpenBSD personally and definitely need to make upspinfs work.

On Wed, Jan 3, 2018 at 2:52 PM, David Presotto <pres...@gmail.com> wrote:
...
As for openbsd, eric grosse has been woking on it in his spare time.

On Wed, Jan 3, 2018 at 1:35 PM, Frank Rehwinkel <frankre...@gmail.com> wrote:
... I guess the paranoid wouldn't be handing sensitive information on a macOS system though. bazil.org/fuse claims support for FreeBSD but doesn't mention OpenBSD. OpenBSD supports a C version of FUSE now for a few years, so a Go version might be possible.

Frank Rehwinkel

unread,
Jan 3, 2018, 7:36:53 PM1/3/18
to Eric Grosse, David Presotto, Upspin
OpenBSD and bazil.org/fuse aren't changing much these days, to their credit. Without knowing any details, I would vote for the first approach you mentioned which I think is basically taking bazil.org/fuse and rewriting it to be as much in the spirit of the bazil to user land API as possible. But either way, if there are messages being issued that don't make sense, that would be the next nut to crack. 

Don't know if I will go in that direction soon, but I would be tempted to look at how the C library is dealing with those odd messages. I guess it's possible the file systems OpenBSD means to support have more complicated features than Linux or FreeBSD but I doubt it. FreeBSD has ZFS for example and OpenBSD doesn't - but that's another issue. If I go there, I'll drop you a note and maybe you can send me the golang sys call bindings you created for the OpenBSD FUSE calls.

-Frank

Evan Tann

unread,
Jan 9, 2020, 11:26:27 PM1/9/20
to Upspin
Eric, have you happened to make any progress on this translator? It'd be great to have upspinfs working on OpenBSD.

Eric Grosse

unread,
Jan 9, 2020, 11:43:56 PM1/9/20
to Evan Tann, Upspin
The translator is still around, but since I never found the reliability bug, I'm reluctant to post to
the repository. See upspin directory p...@n2vi.com/openbsd-fuse/ for my old source.

I switched to a different approach for my OpenBSD and Windows machines, keeping a complete
local copy in the native file system:

Motivated by some other things, I very recently started looking again at FUSE in the
kernel with the goal of a variant of bazil.org/fuse that would run natively on OpenBSD
rather than with a translator. But it is early days; don't wait on that.

--
You received this message because you are subscribed to the Google Groups "Upspin" group.
To unsubscribe from this group and stop receiving emails from it, send an email to upspin+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/upspin/1e4f01fd-c0d3-4733-a9a5-118d12906381%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages