Post-FUSE plans for macOS

330 views
Skip to first unread message

Aram Hăvărneanu

unread,
Dec 11, 2019, 5:17:08 AM12/11/19
to Upspin
FUSE for macOS is not open source anymore.

Any plans for upspin? We could export a NFS (or even SMB) interface,
but of course, that would be a significant amount of work.

--
Aram Hăvărneanu

Rob Pike

unread,
Dec 11, 2019, 5:28:39 AM12/11/19
to Aram Hăvărneanu, Upspin
FUSE was never a good solution, but the alternatives are hardly better. I just upgraded to Catalina myself but haven't faced FUSE yet. I see some scary things on line. Does it work? Is your issue that it is broken outright or, as you said, merely no longer open source? If the latter, I am missing some context.

-rob


--
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/CAEAzY3-u7S_MYN6Xpe3p4AxttS_EKvS4bxQe1RZGOWksEojN0g%40mail.gmail.com.

Aram Hăvărneanu

unread,
Dec 11, 2019, 5:30:50 AM12/11/19
to Rob Pike, Upspin
It seems to work, yes, and you can even still get it for free for
non-commercial usage (whatever that means), but the code itself is not
open source anymore (in fact it's not even published).

--
Aram Hăvărneanu

Aram Hăvărneanu

unread,
Dec 11, 2019, 5:35:11 AM12/11/19
to Rob Pike, Upspin
AFACT the maintainer stopped updating the public source code two
years ago, and forking from such an old version would require lots
of effort of getting it to work on current versions of macOS.

But the real issue is that the maintainer has a monopoly on the
kernel driver certificate. Apple doesn't want any more 3rd party
kernel extensions, so it is not issuing new suitable code certificates
except if you are big and important enough. So a fork would be
extremely unlikely to get a new certificate.

--
Aram Hăvărneanu

Eric Grosse

unread,
Dec 11, 2019, 9:57:14 AM12/11/19
to Aram Hăvărneanu, Rob Pike, Upspin
Disappointing, as I do really like the upspinfs interface. The existing FUSE implementation was hard to port to OpenBSD; I had something working, but not reliably enough to publish, and kernel debugging is not yet in my skill set. It would be great to find a new better approach.

In the meantime, you have available the workaround that I use, github.com/upspin/exp/cmd/upsync.

--
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.

salmān aljammāz

unread,
Dec 11, 2019, 10:13:16 AM12/11/19
to ups...@googlegroups.com
incidentally, i noticed macos now ships with mount_9p. i have no idea what fs_tag is. some virtio thing?

MOUNT_9P(8) BSD System Manager's Manual MOUNT_9P(8)

NAME
mount_9p -- mount a 9P volume

SYNOPSIS
mount_9p [-r] fs_tag

DESCRIPTION
The mount_9p command mounts the 9P filesystem associated with fs_tag.

Aram Hăvărneanu

unread,
Dec 11, 2019, 10:29:32 AM12/11/19
to salmān aljammāz, Upspin
Wow, they added 9P support and didn't tell anyone!

Unfortunately, it sem to only support virtio transport. It doesn't
seem to support tcp/unix/fd transport. I am not sure whether it's
possible to create a local virtio channel.

--
Aram Hăvărneanu

David Presotto

unread,
Dec 11, 2019, 10:30:22 AM12/11/19
to salmān aljammāz, Upspin
When one door closes...  I'll look into the 9p support.  I'd prefer that over fuse anyways.

--
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.

Eric Grosse

unread,
Dec 11, 2019, 10:58:03 AM12/11/19
to Aram Hăvărneanu, Rob Pike, Upspin

Nicola Girardi

unread,
Dec 12, 2019, 1:57:53 AM12/12/19
to David Presotto, salmān aljammāz, Upspin
Just sharing a couple of links:

I haven't tried this myself as I don't use macOS but I stumbled upon
https://github.com/benavento/mac9p when looking up 9P resources in the
past year. There's a recent commit which maybe is a good sign.

Also, a 9P interface to Upspin has been posted to this list
previously: https://github.com/fhs/9upspinfs.
> https://groups.google.com/d/msgid/upspin/CAC_Z_pR9RmK%2BRywL0hchueLug-9dOGHEdc1MaLwakahcSjaLzQ%40mail.gmail.com.
>

Aram Hăvărneanu

unread,
Dec 12, 2019, 6:22:28 AM12/12/19
to Nicola Girardi, David Presotto, salmān aljammāz, Upspin
> I haven't tried this myself as I don't use macOS but I stumbled
> upon https://github.com/benavento/mac9p when looking up 9P resources
> in the past year. There's a recent commit which maybe is a good
> sign.

This seems to be a kernel driver. No good. I am trying to find out
whether it's possible to leverage the now-native 9P support by
emulating a virtio transport from userspace.

> Also, a 9P interface to Upspin has been posted to this list previously:
> https://github.com/fhs/9upspinfs.

Yes, this successfully works in Plan 9.

--
Aram Hăvărneanu

David Presotto

unread,
Dec 13, 2019, 3:50:16 PM12/13/19
to Eric Grosse, Aram Hăvărneanu, Rob Pike, Upspin
So, just upgraded another machine to catalina and loaded the 3.10.4 version of osx fuse.  FYI, seems to work with upspinfs but I would welcome something with support that doesn't depend on one person's spare time.

On Wed, Dec 11, 2019 at 6:57 AM Eric Grosse <gro...@gmail.com> wrote:

Andrew Gerrand

unread,
Jan 6, 2020, 9:09:49 PM1/6/20
to Aram Hăvărneanu, Upspin
Another possibility is webdav, which can be mounted on OS X I believe.

nigeltao implemented this webdav server library some time ago: https://godoc.org/golang.org/x/net/webdav

--
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.

Eric Grosse

unread,
Jan 6, 2020, 9:42:32 PM1/6/20
to Andrew Gerrand, Aram Hăvărneanu, Upspin
Another possibility is a variant cacheserver that is a bit like a combination of watcher and upsync. Instead of upspin/.../storecache, maintain all the file contents in the native filesystem. To keep space requirements at a manageable level, this may need a config file that says which subtrees (and maybe max file sizes) on local disk are to be kept automatically in sync with the upspin master.

Not sure if we could live with the conflicts after a long network disconnect or if we should have the variant cacheserver artificially lock the local tree against read/write by changing the local top directory permissions.

Anyway, this would seem to be implementable purely in user space and free us of these kernel hassles. Thoughts?

Aram Hăvărneanu

unread,
Jan 7, 2020, 6:46:32 AM1/7/20
to Eric Grosse, Andrew Gerrand, Upspin
That loses the property of being able to access someone else's
files, unless manually added to the config file.

--
Aram Hăvărneanu

Eric Grosse

unread,
Jan 7, 2020, 7:51:22 PM1/7/20
to Aram Hăvărneanu, Andrew Gerrand, Upspin
Yes, I'd imagined "subscribing" to directories in a config file. But after sleeping on it, that's too clunky. I'll go back to trying to get FUSE working reliably in the kernels I care enough about.

Olivier Tremblay

unread,
Jan 9, 2020, 7:55:41 AM1/9/20
to Eric Grosse, Aram Hăvărneanu, Andrew Gerrand, Upspin
I’ve recently noticed I have a mount_9p program under /sbin in macOS 10.15. I checked with somebody else, apparently also exists under 10.14. I can’t figure out how to use it, but could that be an avenue of solution?

On Jan 7, 2020, at 7:51 PM, Eric Grosse <gro...@gmail.com> wrote:


--
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.

Rob Pike

unread,
Jan 10, 2020, 1:20:15 AM1/10/20
to Olivier Tremblay, Eric Grosse, Aram Hăvărneanu, Andrew Gerrand, Upspin
It's undocumented and no one knows how to use it. Not a good start. If the details were available and support seemed likely to exist, it could be promising.

-rob

Reply all
Reply to author
Forward
0 new messages