aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/pnfs.h
diff options
context:
space:
mode:
authorFred Isaman <iisaman@netapp.com>2010-10-20 00:17:59 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2010-10-24 18:07:10 -0400
commit02c35fca7cf4ea2dfdc6db279e230cacbbf4b870 (patch)
tree7449a8a3fb119d862f6c163c05cf43d58443c377 /fs/nfs/pnfs.h
parent85e174ba6b786ad336eb2df105b4f66d0932e70a (diff)
NFSv4.1: pnfs: full mount/umount infrastructure
Allow a module implementing a layout type to register, and have its mount/umount routines called for filesystems that the server declares support it. Signed-off-by: Fred Isaman <iisaman@netapp.com> Signed-off-by: Marc Eshel <eshel@almaden.ibm.com> Signed-off-by: Andy Adamson<andros@netapp.com> Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> Signed-off-by: Benny Halevy <bhalevy@panasas.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/pnfs.h')
-rw-r--r--fs/nfs/pnfs.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h
index c628ef131d83..61531f338576 100644
--- a/fs/nfs/pnfs.h
+++ b/fs/nfs/pnfs.h
@@ -36,8 +36,17 @@
36 36
37/* Per-layout driver specific registration structure */ 37/* Per-layout driver specific registration structure */
38struct pnfs_layoutdriver_type { 38struct pnfs_layoutdriver_type {
39 struct list_head pnfs_tblid;
40 const u32 id;
41 const char *name;
42 struct module *owner;
43 int (*initialize_mountpoint) (struct nfs_server *);
44 int (*uninitialize_mountpoint) (struct nfs_server *);
39}; 45};
40 46
47extern int pnfs_register_layoutdriver(struct pnfs_layoutdriver_type *);
48extern void pnfs_unregister_layoutdriver(struct pnfs_layoutdriver_type *);
49
41void set_pnfs_layoutdriver(struct nfs_server *, u32 id); 50void set_pnfs_layoutdriver(struct nfs_server *, u32 id);
42void unset_pnfs_layoutdriver(struct nfs_server *); 51void unset_pnfs_layoutdriver(struct nfs_server *);
43 52