Hacker News new | ask | show | jobs
by duped 1025 days ago
VFS on MacOS is a minefield. You either need to use a kext (bad option, for many reasons), a network file system (NFS or SMB) and pretend your VFS is a remote server, or create a FileProvider system extension (which cannot actually function as a VFS).

If your workflow relies on a VFS that isn't NFS/SMB then don't use MacOS. fuse-t is kind of clever in that it spins up a TCP server that transpiles NFS requests into FUSE requests, but it comes with a bit of a cost and eats a TCP port. The one benefit is that you can actually mount and use a file system entirely in userspace this way, which you can't do on Linux without sandboxing (fusermount3 is SUID to get around this).

3 comments

>but it comes with a bit of a cost and eats a TCP port

I have never heard of someone running out of TCP ports on a personal computer since, well, the invention of TCP on personal computers.

No, but port conflicts do happen.
> fuse-t is kind of clever in that it spins up a TCP server that transpiles NFS requests into FUSE requests

TIL, thank you!

I'm really sad about losing native SSHFS capabilities on macOS (via FUSE, due to the kernel extension deprecation/ban).

I could even get behind the idea of banning all network file systems, but the fact that I can now use SMB and WebDAV(!), but not the one that I actually use all the time, is quite frustrating.

Wow, I gave this a try after work on my personal machine and it's amazing – seems to be more stable than the original thing at a first glance! Thanks again.
MacFUSE always seems unbearably slow to me. Specially in the Finder. Has it improved?

FUSE-T seems more future proof (no kext) and probably less likely to completely hang your Mac, but could potentially be even slower since it’s another abstraction layer in between.

It’s odd that there aren’t any great open source SFTP solutions for the Mac. CyberDuck and FileZilla are barely passable.

> less likely to completely hang your Mac

I think what hangs the Mac isn't the remote file system as such, but rather some local app or (more likely) low-level OS service assuming that all mounted filesystems are local (or at least low-latency and highly available).

That too, but I remember having straight kernel panics. Granted, that was more than a decade ago.