blob: 43679df56cd0536c5ea9186a2c800867d58ed643 [file] [log] [blame]
Bryan Schumakerab7017a2012-07-30 16:05:16 -04001/*
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
14struct 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 Schumaker6a744902012-07-30 16:05:20 -040019 const struct super_operations *sops; /* NFS Super operations */
20 const struct xattr_handler **xattr; /* NFS xattr handlers */
Bryan Schumakerab7017a2012-07-30 16:05:16 -040021 struct list_head list; /* List of NFS versions */
22};
23
Bryan Schumakerab7017a2012-07-30 16:05:16 -040024struct nfs_subversion *get_nfs_version(unsigned int);
25void put_nfs_version(struct nfs_subversion *);
26void register_nfs_version(struct nfs_subversion *);
27void unregister_nfs_version(struct nfs_subversion *);
28
29#endif /* __LINUX_INTERNAL_NFS_H */