diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-10-01 21:51:38 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-10-09 17:19:25 -0400 |
commit | 5724ab37872042176916441930e78fd353be1e5e (patch) | |
tree | 255ba54f98f20ef22584bfb7308bf80f0c4fa2ad | |
parent | fab728e156b3cbfe31f05d6e7cdebe3d5eaff878 (diff) |
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: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r-- | fs/nfs/dir.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 82395c511710..3f0def65b8ab 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c | |||
@@ -1189,6 +1189,7 @@ int nfs_instantiate(struct dentry *dentry, struct nfs_fh *fhandle, | |||
1189 | if (error) | 1189 | if (error) |
1190 | goto out_error; | 1190 | goto out_error; |
1191 | } | 1191 | } |
1192 | nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); | ||
1192 | if (!(fattr->valid & NFS_ATTR_FATTR)) { | 1193 | if (!(fattr->valid & NFS_ATTR_FATTR)) { |
1193 | struct nfs_server *server = NFS_SB(dentry->d_sb); | 1194 | struct nfs_server *server = NFS_SB(dentry->d_sb); |
1194 | error = server->nfs_client->rpc_ops->getattr(server, fhandle, fattr); | 1195 | 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 | nfs_end_data_update(dir); | 1238 | nfs_end_data_update(dir); |
1238 | if (error != 0) | 1239 | if (error != 0) |
1239 | goto out_err; | 1240 | goto out_err; |
1240 | nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); | ||
1241 | unlock_kernel(); | 1241 | unlock_kernel(); |
1242 | return 0; | 1242 | return 0; |
1243 | out_err: | 1243 | out_err: |
@@ -1270,7 +1270,6 @@ nfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t rdev) | |||
1270 | nfs_end_data_update(dir); | 1270 | nfs_end_data_update(dir); |
1271 | if (status != 0) | 1271 | if (status != 0) |
1272 | goto out_err; | 1272 | goto out_err; |
1273 | nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); | ||
1274 | unlock_kernel(); | 1273 | unlock_kernel(); |
1275 | return 0; | 1274 | return 0; |
1276 | out_err: | 1275 | out_err: |
@@ -1299,7 +1298,6 @@ static int nfs_mkdir(struct inode *dir, struct dentry *dentry, int mode) | |||
1299 | nfs_end_data_update(dir); | 1298 | nfs_end_data_update(dir); |
1300 | if (error != 0) | 1299 | if (error != 0) |
1301 | goto out_err; | 1300 | goto out_err; |
1302 | nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); | ||
1303 | unlock_kernel(); | 1301 | unlock_kernel(); |
1304 | return 0; | 1302 | return 0; |
1305 | out_err: | 1303 | out_err: |