| Bryan Schumaker | ab7017a | 2012-07-30 16:05:16 -0400 | [diff] [blame] | 1 | /* | 
 | 2 |  * Copyright (c) 2012 Netapp, Inc. All rights reserved. | 
 | 3 |  * | 
 | 4 |  * Function and structures exported by the NFS module | 
 | 5 |  * for use by NFS version-specific modules. | 
 | 6 |  */ | 
 | 7 | #ifndef __LINUX_INTERNAL_NFS_H | 
 | 8 | #define __LINUX_INTERNAL_NFS_H | 
 | 9 |  | 
 | 10 | #include <linux/fs.h> | 
 | 11 | #include <linux/sunrpc/sched.h> | 
 | 12 | #include <linux/nfs_xdr.h> | 
 | 13 |  | 
 | 14 | struct nfs_subversion { | 
 | 15 | 	struct module *owner;	/* THIS_MODULE pointer */ | 
 | 16 | 	struct file_system_type *nfs_fs;	/* NFS filesystem type */ | 
 | 17 | 	const struct rpc_version *rpc_vers;	/* NFS version information */ | 
 | 18 | 	const struct nfs_rpc_ops *rpc_ops;	/* NFS operations */ | 
| Bryan Schumaker | 6a74490 | 2012-07-30 16:05:20 -0400 | [diff] [blame] | 19 | 	const struct super_operations *sops;	/* NFS Super operations */ | 
 | 20 | 	const struct xattr_handler **xattr;	/* NFS xattr handlers */ | 
| Bryan Schumaker | ab7017a | 2012-07-30 16:05:16 -0400 | [diff] [blame] | 21 | 	struct list_head list;		/* List of NFS versions */ | 
 | 22 | }; | 
 | 23 |  | 
| Bryan Schumaker | ab7017a | 2012-07-30 16:05:16 -0400 | [diff] [blame] | 24 | struct nfs_subversion *get_nfs_version(unsigned int); | 
 | 25 | void put_nfs_version(struct nfs_subversion *); | 
 | 26 | void register_nfs_version(struct nfs_subversion *); | 
 | 27 | void unregister_nfs_version(struct nfs_subversion *); | 
 | 28 |  | 
 | 29 | #endif /* __LINUX_INTERNAL_NFS_H */ |