Hello developers,

I'm currently evaluating how to best integrate NFS-Ganesha with our storage 
product. My company is developing a user space Linux application to handle 
storage and we'd like to provide a NFS service to access files and directories.

As a proof of concept we've currently used the Linux FUSE feature to expose our 
storage as a regular Linux VFS handled filesystem, and NFS-Ganesha can use this 
just fine. However using FUSE to pass data between 2 user space processes is 
probably not the best solution and also probably not the fastest solution. I'm 
therefore currently investigating how feasible it is to develop a custom FSAL, 
which will communicate directly with another user space process. I'm thinking 
about writing a simple "network protocol" which will forward the FSAL calls to 
our storage user space process. It could use a stream or datagram style 
"connection", which could be regular TCP/UDP, maybe unix domain sockets, maybe 
Linux netlink sockets, maybe even SysV shared memory (if that's even necessary 
for performance).

I did read all the NFS-Ganesha Wiki pages and read the fsal_api.h header once, 
and have a couple of questions now:

- does the NFS-Ganesha server use multiple processes or multiple threads?

- if it does use multiple process/threads, how are multiple connected NFS 
clients multiplexed to the processes/threads?

- if multiple threads are used, how are the FSAL objects allocated and used 
with 
regards to the threads? Is locking required "inside" the FSAL implementation?

- did anybody write a FSAL which forwards the calls made from NFS-Ganesha to 
the 
FSAL objects to another process? I'm thinking about writing a FSAL with a 
generic protocol which different user space processes can connect to and 
provide 
the storage/files/directories.

- looking at the current FSAL implementations, which is the simplest to get me 
started, but implements all the necessary features? I'm thinking about studying 
the implementation and using that as a template for my own FSAL.


-- 
---> Dirk Jagdmann
----> http://cubic.org/~doj
-----> http://llg.cubic.org

------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to