aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorBryan Schumaker <bjschuma@netapp.com>2012-07-16 16:39:12 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-07-17 13:33:05 -0400
commit73a79706d7f197a428a43fbf335bbe75cdbc221f (patch)
treebae0bcb90c212dbf7d6f2797ace285910d66e2a8 /fs/nfs
parentab96291ea16b6b9c76bfac35ccbb26a15ecb01ce (diff)
NFS: Split out NFS v4 inode operations
The NFS v4 file inode operations are already already in nfs4proc.c, so this patch just needs to move the directory operations to the same file. Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/dir.c33
-rw-r--r--fs/nfs/nfs4_fs.h5
-rw-r--r--fs/nfs/nfs4proc.c20
3 files changed, 27 insertions, 31 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index e75f2aaafadf..d49f1b9cd3fd 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -63,33 +63,6 @@ const struct address_space_operations nfs_dir_aops = {
63 .freepage = nfs_readdir_clear_array, 63 .freepage = nfs_readdir_clear_array,
64}; 64};
65 65
66#ifdef CONFIG_NFS_V4
67
68static int nfs_atomic_open(struct inode *, struct dentry *,
69 struct file *, unsigned, umode_t,
70 int *);
71const struct inode_operations nfs4_dir_inode_operations = {
72 .create = nfs_create,
73 .lookup = nfs_lookup,
74 .atomic_open = nfs_atomic_open,
75 .link = nfs_link,
76 .unlink = nfs_unlink,
77 .symlink = nfs_symlink,
78 .mkdir = nfs_mkdir,
79 .rmdir = nfs_rmdir,
80 .mknod = nfs_mknod,
81 .rename = nfs_rename,
82 .permission = nfs_permission,
83 .getattr = nfs_getattr,
84 .setattr = nfs_setattr,
85 .getxattr = generic_getxattr,
86 .setxattr = generic_setxattr,
87 .listxattr = generic_listxattr,
88 .removexattr = generic_removexattr,
89};
90
91#endif /* CONFIG_NFS_V4 */
92
93static struct nfs_open_dir_context *alloc_nfs_open_dir_context(struct inode *dir, struct rpc_cred *cred) 66static struct nfs_open_dir_context *alloc_nfs_open_dir_context(struct inode *dir, struct rpc_cred *cred)
94{ 67{
95 struct nfs_open_dir_context *ctx; 68 struct nfs_open_dir_context *ctx;
@@ -1352,9 +1325,9 @@ out:
1352 return err; 1325 return err;
1353} 1326}
1354 1327
1355static int nfs_atomic_open(struct inode *dir, struct dentry *dentry, 1328int nfs_atomic_open(struct inode *dir, struct dentry *dentry,
1356 struct file *file, unsigned open_flags, 1329 struct file *file, unsigned open_flags,
1357 umode_t mode, int *opened) 1330 umode_t mode, int *opened)
1358{ 1331{
1359 struct nfs_open_context *ctx; 1332 struct nfs_open_context *ctx;
1360 struct dentry *res; 1333 struct dentry *res;
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
index 3696ca7f5f4d..e2c4c72d3866 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -200,7 +200,10 @@ struct nfs4_state_maintenance_ops {
200}; 200};
201 201
202extern const struct dentry_operations nfs4_dentry_operations; 202extern const struct dentry_operations nfs4_dentry_operations;
203extern const struct inode_operations nfs4_dir_inode_operations; 203
204/* dir.c */
205int nfs_atomic_open(struct inode *, struct dentry *, struct file *,
206 unsigned, umode_t, int *);
204 207
205/* write.c */ 208/* write.c */
206int nfs4_write_inode(struct inode *, struct writeback_control *); 209int nfs4_write_inode(struct inode *, struct writeback_control *);
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 05801be4a180..5e373c30e8d4 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -6832,6 +6832,26 @@ const struct nfs4_minor_version_ops *nfs_v4_minor_ops[] = {
6832#endif 6832#endif
6833}; 6833};
6834 6834
6835const struct inode_operations nfs4_dir_inode_operations = {
6836 .create = nfs_create,
6837 .lookup = nfs_lookup,
6838 .atomic_open = nfs_atomic_open,
6839 .link = nfs_link,
6840 .unlink = nfs_unlink,
6841 .symlink = nfs_symlink,
6842 .mkdir = nfs_mkdir,
6843 .rmdir = nfs_rmdir,
6844 .mknod = nfs_mknod,
6845 .rename = nfs_rename,
6846 .permission = nfs_permission,
6847 .getattr = nfs_getattr,
6848 .setattr = nfs_setattr,
6849 .getxattr = generic_getxattr,
6850 .setxattr = generic_setxattr,
6851 .listxattr = generic_listxattr,
6852 .removexattr = generic_removexattr,
6853};
6854
6835static const struct inode_operations nfs4_file_inode_operations = { 6855static const struct inode_operations nfs4_file_inode_operations = {
6836 .permission = nfs_permission, 6856 .permission = nfs_permission,
6837 .getattr = nfs_getattr, 6857 .getattr = nfs_getattr,