16881f68fSopenharmony_ciNFS exporting is supported in Linux kernels 2.6.27 or later.
26881f68fSopenharmony_ci
36881f68fSopenharmony_ciYou need to add an fsid=NNN option to /etc/exports to make exporting a
46881f68fSopenharmony_ciFUSE directory work.
56881f68fSopenharmony_ci
66881f68fSopenharmony_ciFilesystem support
76881f68fSopenharmony_ci------------------
86881f68fSopenharmony_ci
96881f68fSopenharmony_ciNFS exporting works to some extent on all fuse filesystems, but not
106881f68fSopenharmony_ciperfectly.  This is due to the stateless nature of the protocol, the
116881f68fSopenharmony_ciserver has no way of knowing whether the client is keeping a reference
126881f68fSopenharmony_cito a file or not, and hence that file may be removed from the server's
136881f68fSopenharmony_cicache.  In that case there has to be a way to look up that object
146881f68fSopenharmony_ciusing the inode number, otherwise an ESTALE error will be returned.
156881f68fSopenharmony_ci
166881f68fSopenharmony_ci1) low-level interface
176881f68fSopenharmony_ci
186881f68fSopenharmony_ciFilesystems need to set FUSE_CAP_EXPORT_SUPPORT in conn->wants and
196881f68fSopenharmony_ciimplement special lookups for the names "." and "..". The former may
206881f68fSopenharmony_cibe requested on any inode, including non-directories, while the latter
216881f68fSopenharmony_ciis only requested for directories.  Otherwise these special lookups
226881f68fSopenharmony_cishould behave identically to ordinary lookups.
236881f68fSopenharmony_ci
246881f68fSopenharmony_ci2) high-level interface
256881f68fSopenharmony_ci
266881f68fSopenharmony_ciBecause the high-level interface is path based, it is not possible to
276881f68fSopenharmony_cidelegate looking up by inode to the filesystem.
286881f68fSopenharmony_ci
296881f68fSopenharmony_ciTo work around this, currently a "noforget" option is provided, which
306881f68fSopenharmony_cimakes the library remember nodes forever.  This will make the NFS
316881f68fSopenharmony_ciserver happy, but also results in an ever growing memory footprint for
326881f68fSopenharmony_cithe filesystem.  For this reason if the filesystem is large (or the
336881f68fSopenharmony_cimemory is small), then this option is not recommended.
34