Re: [go-nuts] mount remote storage without FUSE

2020-11-26 Thread Chris Lu
This Rust fuse-rs project is equivalent to the Go basizl/fuse project that I am using. Chris On Thu, Nov 26, 2020 at 9:05 AM Bakul Shah wrote: > This may help: https://github.com/zargony/fuse-rs > > The kernel driver is provided by the FUSE project, the userspace > implementation needs to be pr

Re: [go-nuts] mount remote storage without FUSE

2020-11-26 Thread Bakul Shah
This may help: https://github.com/zargony/fuse-rs The kernel driver is provided by the FUSE project, the userspace implementation needs to be provided by the developer. fuse-rs provides a replacement for the libfuse userspace library between these two. This way, a developer can fully take advan

Re: [go-nuts] mount remote storage without FUSE

2020-11-25 Thread 'Axel Wagner' via golang-nuts
Yes, both of those seem to be using kernel modules :) Implementing kernel modules in Go would be ambitious, to say the least (at least in my opinion). On Wed, Nov 25, 2020 at 11:28 PM Chris Lu wrote: > Hi, Axel, > > Thanks for answering! I was checking CEPH, Lustre, etc. Here is one > example: >

Re: [go-nuts] mount remote storage without FUSE

2020-11-25 Thread Chris Lu
Hi, Axel, Thanks for answering! I was checking CEPH, Lustre, etc. Here is one example: https://github.com/ceph/ceph/blob/3931b21ae8ae508f2cd826a1e6cc89c9b2f64f97/src/libcephfs.cc Chris https://github.com/chrislusf/seaweedfs On Wed, Nov 25, 2020 at 3:17 AM Axel Wagner wrote: > Can you link to

Re: [go-nuts] mount remote storage without FUSE

2020-11-25 Thread 'Axel Wagner' via golang-nuts
Can you link to an example C project? Theoretically, everything that's possible in C should also be possible in Go. However, I'm unaware of a method to mount a userspace filesystem except FUSE. So as far as I'm aware, you'd need a kernel module for that (and, yeah, doing that with Go would probably

[go-nuts] mount remote storage without FUSE

2020-11-25 Thread ChrisLu
Hi, Gophers (who are also good in C), Currently I am using FUSE to mount and write to remote storage. The library I am using is Basil Fuse. The performance is good as far as FUSE can go. User -> file.write() -> Linux Kernel -> Virtual File System -> libfuse -> FUSE -> DFS Client(in Go) -> Remo