Commit 5724ab37 authored by Trond Myklebust's avatar Trond Myklebust

NFS: nfs_instantiate() should set the dentry verifier

That will also allow us to remove the calls in mknod and mkdir.
In addition it will ensure that symlinks set it correctly.
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent fab728e1
...@@ -1189,6 +1189,7 @@ int nfs_instantiate(struct dentry *dentry, struct nfs_fh *fhandle, ...@@ -1189,6 +1189,7 @@ int nfs_instantiate(struct dentry *dentry, struct nfs_fh *fhandle,
if (error) if (error)
goto out_error; goto out_error;
} }
nfs_set_verifier(dentry, nfs_save_change_attribute(dir));
if (!(fattr->valid & NFS_ATTR_FATTR)) { if (!(fattr->valid & NFS_ATTR_FATTR)) {
struct nfs_server *server = NFS_SB(dentry->d_sb); struct nfs_server *server = NFS_SB(dentry->d_sb);
error = server->nfs_client->rpc_ops->getattr(server, fhandle, fattr); error = server->nfs_client->rpc_ops->getattr(server, fhandle, fattr);
...@@ -1237,7 +1238,6 @@ static int nfs_create(struct inode *dir, struct dentry *dentry, int mode, ...@@ -1237,7 +1238,6 @@ static int nfs_create(struct inode *dir, struct dentry *dentry, int mode,
nfs_end_data_update(dir); nfs_end_data_update(dir);
if (error != 0) if (error != 0)
goto out_err; goto out_err;
nfs_set_verifier(dentry, nfs_save_change_attribute(dir));
unlock_kernel(); unlock_kernel();
return 0; return 0;
out_err: out_err:
...@@ -1270,7 +1270,6 @@ nfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t rdev) ...@@ -1270,7 +1270,6 @@ nfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t rdev)
nfs_end_data_update(dir); nfs_end_data_update(dir);
if (status != 0) if (status != 0)
goto out_err; goto out_err;
nfs_set_verifier(dentry, nfs_save_change_attribute(dir));
unlock_kernel(); unlock_kernel();
return 0; return 0;
out_err: out_err:
...@@ -1299,7 +1298,6 @@ static int nfs_mkdir(struct inode *dir, struct dentry *dentry, int mode) ...@@ -1299,7 +1298,6 @@ static int nfs_mkdir(struct inode *dir, struct dentry *dentry, int mode)
nfs_end_data_update(dir); nfs_end_data_update(dir);
if (error != 0) if (error != 0)
goto out_err; goto out_err;
nfs_set_verifier(dentry, nfs_save_change_attribute(dir));
unlock_kernel(); unlock_kernel();
return 0; return 0;
out_err: out_err:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment