NFS-Ganesha is a NFS server running in User Space.
It has been designed to meet two goals:
* providing very large metadata and data caches (up to millions of records)
* providing NFS exports to various files systems and namespaces (a set of data organized as trees, with a structure similar to a files system)
NFS-Ganesha uses dedicated backend modules called FSAL (which stand for File System Abstraction Layer) that provided the product with a unique API (used internally) to access the underlying namespace. The FSAL module is basically the "glue" between the namespace and the other part of NFS-Ganesha
Available FSALs are:
* FSAL/POSIX: this module is based on the well known POSIX API which is included in the LibC. It allows NFS export for anything accessible via the POSIX interface. POSIX API addresses files and directories by their names (which are volatile identifiers, they may change if object is renamed). FSAL API uses persistent, opaque, unique identifier called handles. Because a this, FSAL/POSIX use the service of a PostGresQL database to perform "reverse lookup" from handle to filename.
* FSAL/SNMP: information available via SNMP are organized as trees, they constitute a namespace. This backend module provides with the capability to export SNMP information data via NFS and browse them in a "procfs-like" way.
* FSAL/PROXY: the module is in fact a NFSv4 client. Used with NFS-Ganesha, it turns the NFS server into a NFS proxy server. This module is still in its alpha version
* FSAL/FUSELIKE: many product use FUSE to have NFS export. Often they resided in the user space. NFS-Ganesha is in user space too, and via this module it allow user space product to have NFS export from user space, without explicit kernel communication. The module use the same interface as the classical fuse binding: if your application have a fuse binding module ready, you'll need nothing else to interface it with NFS-Ganesha. For this specific use, the NNFS-Ganesha's engine is wrap in a library to be use and compile with your proprieritary application.
NFS-Ganesha is available under the CeCILL license, which is a French transposition of the GPL and is fully GPL-compatible.
Product's homepage
What's New in This Release: [ read full changelog ]
· init.d scripts are now closer to LSB requirements
· Bug fix: race condition when inserting the same new entry several time and concurrently in metadata cache
· Bug fix : it was impossible to set "/" as an export's entry's pseudopath
· Bug fix : badly pack fsal_handle in FSAL_PROXY could create 2 entries in cache_inode for a single file.
· Bug fix : memory violation in FSAL_PROXY for fattr4's type based on nfs4time