diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-10-02 03:51:38 +0200 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-10-09 23:19:25 +0200 |
commit | 5724ab37872042176916441930e78fd353be1e5e (patch) | |
tree | 255ba54f98f20ef22584bfb7308bf80f0c4fa2ad /fs | |
parent | NFS: Ensure nfs_instantiate() invalidates the parent dir on error (diff) | |
download | linux-5724ab37872042176916441930e78fd353be1e5e.tar.xz linux-5724ab37872042176916441930e78fd353be1e5e.zip |
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>
Diffstat (limited to 'fs')
-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, if (error) goto out_error; } + nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); if (!(fattr->valid & NFS_ATTR_FATTR)) { struct nfs_server *server = NFS_SB(dentry->d_sb); 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, nfs_end_data_update(dir); if (error != 0) goto out_err; - nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); unlock_kernel(); return 0; out_err: @@ -1270,7 +1270,6 @@ nfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t rdev) nfs_end_data_update(dir); if (status != 0) goto out_err; - nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); unlock_kernel(); return 0; out_err: @@ -1299,7 +1298,6 @@ static int nfs_mkdir(struct inode *dir, struct dentry *dentry, int mode) nfs_end_data_update(dir); if (error != 0) goto out_err; - nfs_set_verifier(dentry, nfs_save_change_attribute(dir)); unlock_kernel(); return 0; out_err: |