Yeah, NFS would work as well (similar tradeoffs as 9P, though the linux
kernel driver might perform better because it's more widely used).

nbd is not suitable for the use case, I think :) I'd also recommend against
using my nbd package if performance is the goal - it is not at all
optimized, I wrote it mostly as a tool to test filesystem implementations
and things that depend on certain filesystem semantics.

On Fri, Nov 27, 2020 at 11:26 AM Didier Spezia <didier...@gmail.com> wrote:

> One possibility is to use the 9P client of the kernel and implements a 9P
> server in Go - there are a few 9P libraries for Go around.
> I doubt it will be more efficient than FUSE though, and btw FUSE is
> largely based on the ideas promoted by 9P.
>
> Another possibility is to use the ndb client of the kernel and implements
> a ndb server in Go. See Axel's ndb package at
> https://github.com/Merovius/nbd
> Now ndb exposes a block device, not a filesystem. I think I would be quite
> difficult to emulate the format of one the filesystems supported by the
> kernel and implements it in this Go ndb server.
>
> Regards,
> Didier.
>
>
>
>
> Le mercredi 25 novembre 2020 à 09:38:02 UTC+1, ChrisLu a écrit :
>
>> 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/835bbe35-6845-4d44-98b9-83a07c86b79bn%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/835bbe35-6845-4d44-98b9-83a07c86b79bn%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/CAEkBMfGUvxmx5%2BhB4uuu6y6qMc6NihhSHmStFs4trYygoZh2QA%40mail.gmail.com.

Reply via email to