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