go-fuse icon indicating copy to clipboard operation
go-fuse copied to clipboard

Implement FUSE-T support on macOS

Open macos-fuse-t opened this issue 1 year ago • 13 comments

This pull request implements support for FUSE-T, which eliminates the need to install kernel extensions on macOS. https://github.com/macos-fuse-t/fuse-t

macos-fuse-t avatar Mar 11 '23 16:03 macos-fuse-t

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

google-cla[bot] avatar Mar 11 '23 16:03 google-cla[bot]

BTW, this could be tested on Github Actions, right?

rfjakob avatar Mar 15 '23 11:03 rfjakob

BTW, this could be tested on Github Actions, right?

I don't have experience with Github Actions, but testing should be easy. fuse-t can be installed with homebrew before running tests and that's the only requirement

macos-fuse-t avatar Mar 15 '23 12:03 macos-fuse-t

Most of the comments are addressed. Please take a look at the new commits

macos-fuse-t avatar Mar 17 '23 11:03 macos-fuse-t

thanks for your contribution!

As discussed above, it would be swell to get a gerrithub review for this.

As an aside, I've been mulling implementing NFS natively directly in go-fuse, but I haven't found a good description of the NFS protocol yet. I guess you'd rather see people pay you for fuse-t, but maybe you can comment on how much complexity the NFS <-> FUSE bridge involves?

hanwen avatar Mar 19 '23 11:03 hanwen

When do you plan add this changes to master branch ?

libor13 avatar Jun 22 '23 12:06 libor13

I do not have concrete plans; my comments in the code review have gone unanswered.

hanwen avatar Jun 23 '23 08:06 hanwen

I don't have time for this. But @libor13 can use the forked repo

macos-fuse-t avatar Jun 23 '23 12:06 macos-fuse-t

Please add support for -o location option added in fuse-t 1.0.22 Option should be added in ./fuse/mount_darwin.go in function mount_fuset()

libor13 avatar Jul 13 '23 10:07 libor13

I don't have time for this. But @libor13 can use the forked repo

That's really a pity! :-(

Just FYI: I tried to sign up on Gerrit (I had already signed the Google's CLA, which is also trivial to do), and, after five minutes, I had everything set up for my own repositories. That's all it takes, it won't eat much from your precious time...

GwynethLlewelyn avatar Jul 28 '23 15:07 GwynethLlewelyn

@macos-fuse-t do you have plan to merge current changes from hanwen:master to your branch ? @hanwen is there something new about using fuse-t in hanwen/go-fuse project ?

libor13 avatar Nov 14 '23 14:11 libor13

When I try to mount virtual drive from gocryptfs using last source from macos-fuse-t/go-fuse I got this error:

Decrypting master key
08:52:12.413685 rx21 2: INIT n0 {7.18 Ra 0 ASYNC_READ,POSIX_LOCKS,ATOMIC_O_TRUNC,EXPORT_SUPPORT,BIG_WRITES,DONT_MASK,RENAME_SWAP,RENAME_EXCL,ALLOCATE,EXCHANGE_DATA,CASE_INSENSITIVE,VOL_RENAME,XTIMES} 
08:52:12.414320 tx33 2:     OK, {7.18 Ra 0 ASYNC_READ,BIG_WRITES,RENAME_SWAP 0/0 Wr 1048576 Tg 0 MaxPages 256}
08:52:12.458043 rx21 3: STATFS n1 
08:52:12.458137 tx33 3:     OK, {blocks (38676,14899)/115511 files 1181504706/1182842480 bs1048576 nl0 frs1048576}
08:52:12.458686 rx21 4: GETATTR n1  
08:52:12.459017 tx33 4:     OK, {tA=1s {M040755 SZ=256 L=8 501:20 B0*4096 i0:0 A 1699964877.953854 M 1699964877.924009 C 1699964877.924009}}
08:52:12.461846 rx21 5: LOOKUP n1 ["liborbubik"] 11b
08:52:12.462754 tx33 5:     2=no such file or directory, {n0 g0 tE=1s tA=0s {M00 SZ=0 L=0 0:0 B0*0 i0:0 A 0.000000 M 0.000000 C 0.000000}}
mount read  EOF
08:52:12.465868 Failed to read from fuse conn: 5=input/output error
fs.Mount failed: fuse-t failed: EOF
Maybe you should run: /Library/Filesystems/osxfuse.fs/Contents/Resources/load_osxfuse

libor13 avatar Nov 20 '23 07:11 libor13

Any update @macos-fuse-t @hanwen? That would definitely be a good addition to integrate fuse-t since the opening of this PR a year ago.

bastienvty avatar Apr 28 '24 12:04 bastienvty