What does HackerNews think of nfs-ganesha?
NFS-Ganesha is an NFSv3,v4,v4.1 fileserver that runs in user mode on most UNIX/Linux systems
I was hopeful that Ganesha NFS [1] would suffice as a bridge for the various FUSE filesystems I need to use with macOS, but alas, they have abandoned the FUSE interface and moved to FSAL/FSAL_VFS [2].
It would be really nice to have a clear path to building a copy of Ganesha NFS that supported a whole host of the great FUSE filesystems out there built to this API.
[1] https://github.com/nfs-ganesha/nfs-ganesha [2] https://github.com/nfs-ganesha/nfs-ganesha/issues/759
The way it's used is that Ganesha supports defining of alternate filesystem backends and serving them as NFS shares. Handles to objects (e.g. files) would exist as pointers which live inside the struct of the backend's handle struct. i.e.:
struct my_file_data {
struct ganesha_file_data {
// generic data
};
// data specific to my module
};
The "my" module would take pointers to ganesha_file_data when the NFS core code calls it. The "my" module then uses container_of to convert ganesha_file_data ptr to my_file_data ptr.