knfsd: exportfs: add procedural interface for NFSD
Currently NFSD calls directly into filesystems through the export_operations
structure. I plan to change this interface in various ways in later patches,
and want to avoid the export of the default operations to NFSD, so this patch
adds two simple exportfs_encode_fh/exportfs_decode_fh helpers for NFSD to call
instead of poking into exportfs guts.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
diff --git a/include/linux/exportfs.h b/include/linux/exportfs.h
index fdc306f..8872fe8 100644
--- a/include/linux/exportfs.h
+++ b/include/linux/exportfs.h
@@ -5,6 +5,7 @@
struct dentry;
struct super_block;
+struct vfsmount;
/**
@@ -116,4 +117,10 @@
void *parent, int (*acceptable)(void *context, struct dentry *de),
void *context);
+extern int exportfs_encode_fh(struct dentry *dentry, __u32 *fh, int *max_len,
+ int connectable);
+extern struct dentry *exportfs_decode_fh(struct vfsmount *mnt, __u32 *fh,
+ int fh_len, int fileid_type, int (*acceptable)(void *, struct dentry *),
+ void *context);
+
#endif /* LINUX_EXPORTFS_H */