From ecd073bd7054c9e13516041e3ef930e39270c8df Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Fri, 19 Jun 2009 10:27:38 +0000 Subject: Add fuse_getgroups (high level lib) and fuse_req_getgroups (low level lib) functions to query the supplementary group IDs for the current request. Currently this is implemented on Linux by reading from the /proc filesystem. --- README.NFS | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'README.NFS') diff --git a/README.NFS b/README.NFS index b805f39..f3348d5 100644 --- a/README.NFS +++ b/README.NFS @@ -2,3 +2,32 @@ NFS exporting is supported in Linux kernels 2.6.27 or later. You need to add an fsid=NNN option to /etc/exports to make exporting a FUSE directory work. + +Filesystem support +------------------ + +NFS exporting works to some extent on all fuse filesystems, but not +perfectly. This is due to the stateless nature of the protocol, the +server has no way of knowing whether the client is keeping a reference +to a file or not, and hence that file may be removed from the server's +cache. In that case there has to be a way to look up that object +using the inode number, otherwise an ESTALE error will be returned. + +1) low-level interface + +Filesystems need to implement special lookups for the names "." and +"..". The former may be requested on any inode, including +non-directories, while the latter is only requested for directories. +Otherwise these special lookups should behave identically to ordinary +lookups. + +2) high-level interface + +Because the high-level interface is path based, it is not possible to +delegate looking up by inode to the filesystem. + +To work around this, currently a "noforget" option is provided, which +makes the library remember nodes forever. This will make the NFS +server happy, but also results in an ever growing memory footprint for +the filesystem. For this reason if the filesystem is large (or the +memory is small), then this option is not recommended. -- cgit v1.2.3