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 <chris...@gmail.com> wrote: > 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 <axel.wagner...@googlemail.com> > wrote: > >> 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 be inadvisable). >> >> On Wed, Nov 25, 2020 at 9:39 AM ChrisLu <chris...@gmail.com> wrote: >> >>> 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) -> Remote Storage >>> >>> However, I am researching how to write directly through linux virtual >>> file system, skipping FUSE layer. Seems all similar libraries are in C. Is >>> this even possible in Go? >>> >>> User -> file.write() -> Linux Kernel -> Virtual File System -> DFS >>> Client(in Go) -> Remote Storage >>> >>> Thanks! >>> >>> Chris >>> https://github.com/chrislusf/seaweedfs >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "golang-nuts" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to golang-nuts+unsubscr...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/golang-nuts/6f4c54fb-d5a5-4a1f-9840-0fbab596f785n%40googlegroups.com >>> <https://groups.google.com/d/msgid/golang-nuts/6f4c54fb-d5a5-4a1f-9840-0fbab596f785n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAEkBMfEc0EU2dB_HzRG-DemP8k5e%2BSakt4Jd7qLTP%2BtPE6PiXQ%40mail.gmail.com.