|
@@ -63,33 +63,6 @@ const struct address_space_operations nfs_dir_aops = {
|
|
.freepage = nfs_readdir_clear_array,
|
|
.freepage = nfs_readdir_clear_array,
|
|
};
|
|
};
|
|
|
|
|
|
-#ifdef CONFIG_NFS_V4
|
|
|
|
-
|
|
|
|
-static int nfs_atomic_open(struct inode *, struct dentry *,
|
|
|
|
- struct file *, unsigned, umode_t,
|
|
|
|
- int *);
|
|
|
|
-const struct inode_operations nfs4_dir_inode_operations = {
|
|
|
|
- .create = nfs_create,
|
|
|
|
- .lookup = nfs_lookup,
|
|
|
|
- .atomic_open = nfs_atomic_open,
|
|
|
|
- .link = nfs_link,
|
|
|
|
- .unlink = nfs_unlink,
|
|
|
|
- .symlink = nfs_symlink,
|
|
|
|
- .mkdir = nfs_mkdir,
|
|
|
|
- .rmdir = nfs_rmdir,
|
|
|
|
- .mknod = nfs_mknod,
|
|
|
|
- .rename = nfs_rename,
|
|
|
|
- .permission = nfs_permission,
|
|
|
|
- .getattr = nfs_getattr,
|
|
|
|
- .setattr = nfs_setattr,
|
|
|
|
- .getxattr = generic_getxattr,
|
|
|
|
- .setxattr = generic_setxattr,
|
|
|
|
- .listxattr = generic_listxattr,
|
|
|
|
- .removexattr = generic_removexattr,
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-#endif /* CONFIG_NFS_V4 */
|
|
|
|
-
|
|
|
|
static struct nfs_open_dir_context *alloc_nfs_open_dir_context(struct inode *dir, struct rpc_cred *cred)
|
|
static struct nfs_open_dir_context *alloc_nfs_open_dir_context(struct inode *dir, struct rpc_cred *cred)
|
|
{
|
|
{
|
|
struct nfs_open_dir_context *ctx;
|
|
struct nfs_open_dir_context *ctx;
|
|
@@ -1352,9 +1325,9 @@ out:
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
|
|
|
|
-static int nfs_atomic_open(struct inode *dir, struct dentry *dentry,
|
|
|
|
- struct file *file, unsigned open_flags,
|
|
|
|
- umode_t mode, int *opened)
|
|
|
|
|
|
+int nfs_atomic_open(struct inode *dir, struct dentry *dentry,
|
|
|
|
+ struct file *file, unsigned open_flags,
|
|
|
|
+ umode_t mode, int *opened)
|
|
{
|
|
{
|
|
struct nfs_open_context *ctx;
|
|
struct nfs_open_context *ctx;
|
|
struct dentry *res;
|
|
struct dentry *res;
|