aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/internal.h
diff options
context:
space:
mode:
authorBryan Schumaker <bjschuma@netapp.com>2012-07-16 16:39:20 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-07-17 13:33:55 -0400
commitfbdefd6442811392e857721573b63a51d1149cc8 (patch)
treed3b36fa0af3a91a22c3799db13c4cb07d0ec2fff /fs/nfs/internal.h
parent3cadf4b864cab9d19b935289c004799d1065cd03 (diff)
NFS: Split out the NFS v4 filesystem types
This allows me to move the v4 mounting and unmounting functions out of the generic client and into a file that is only compiled when CONFIG_NFS_V4 is enabled. Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/internal.h')
-rw-r--r--fs/nfs/internal.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
index b4a35705246c..cfafd13b6fe9 100644
--- a/fs/nfs/internal.h
+++ b/fs/nfs/internal.h
@@ -153,6 +153,14 @@ struct nfs_mount_request {
153 struct net *net; 153 struct net *net;
154}; 154};
155 155
156struct nfs_mount_info {
157 void (*fill_super)(struct super_block *, struct nfs_mount_info *);
158 int (*set_security)(struct super_block *, struct dentry *, struct nfs_mount_info *);
159 struct nfs_parsed_mount_data *parsed;
160 struct nfs_clone_mount *cloned;
161 struct nfs_fh *mntfh;
162};
163
156extern int nfs_mount(struct nfs_mount_request *info); 164extern int nfs_mount(struct nfs_mount_request *info);
157extern void nfs_umount(const struct nfs_mount_request *info); 165extern void nfs_umount(const struct nfs_mount_request *info);
158 166
@@ -318,6 +326,16 @@ extern struct file_system_type nfs_xdev_fs_type;
318extern struct file_system_type nfs4_xdev_fs_type; 326extern struct file_system_type nfs4_xdev_fs_type;
319extern struct file_system_type nfs4_referral_fs_type; 327extern struct file_system_type nfs4_referral_fs_type;
320#endif 328#endif
329void nfs_initialise_sb(struct super_block *);
330int nfs_set_sb_security(struct super_block *, struct dentry *, struct nfs_mount_info *);
331int nfs_clone_sb_security(struct super_block *, struct dentry *, struct nfs_mount_info *);
332struct dentry *nfs_fs_mount_common(struct file_system_type *, struct nfs_server *,
333 int, const char *, struct nfs_mount_info *);
334struct dentry *nfs_fs_mount(struct file_system_type *, int, const char *, void *);
335struct dentry * nfs_xdev_mount_common(struct file_system_type *, int,
336 const char *, struct nfs_mount_info *);
337void nfs_kill_super(struct super_block *);
338void nfs_fill_super(struct super_block *, struct nfs_mount_info *);
321 339
322extern struct rpc_stat nfs_rpcstat; 340extern struct rpc_stat nfs_rpcstat;
323 341
@@ -364,6 +382,17 @@ extern void nfs_pageio_init_read(struct nfs_pageio_descriptor *pgio,
364extern void nfs_pageio_reset_read_mds(struct nfs_pageio_descriptor *pgio); 382extern void nfs_pageio_reset_read_mds(struct nfs_pageio_descriptor *pgio);
365extern void nfs_readdata_release(struct nfs_read_data *rdata); 383extern void nfs_readdata_release(struct nfs_read_data *rdata);
366 384
385/* super.c */
386void nfs_clone_super(struct super_block *, struct nfs_mount_info *);
387void nfs_umount_begin(struct super_block *);
388int nfs_statfs(struct dentry *, struct kstatfs *);
389int nfs_show_options(struct seq_file *, struct dentry *);
390int nfs_show_devname(struct seq_file *, struct dentry *);
391int nfs_show_path(struct seq_file *, struct dentry *);
392int nfs_show_stats(struct seq_file *, struct dentry *);
393void nfs_put_super(struct super_block *);
394int nfs_remount(struct super_block *sb, int *flags, char *raw_data);
395
367/* write.c */ 396/* write.c */
368extern void nfs_pageio_init_write(struct nfs_pageio_descriptor *pgio, 397extern void nfs_pageio_init_write(struct nfs_pageio_descriptor *pgio,
369 struct inode *inode, int ioflags, 398 struct inode *inode, int ioflags,