afs: Fix afs_lookup() to not clobber the version on a new dentry
Fix afs_lookup() to not clobber the version set on a new dentry by
afs_do_lookup() - especially as it's using the wrong version of the
version (we need to use the one given to us by whatever op the dir
contents correspond to rather than what's in the afs_vnode).
Fixes: 9dd0b82ef5
("afs: Fix missing dentry data version updating")
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
40a708bd62
commit
f52b83b0b1
|
@ -952,12 +952,8 @@ static struct dentry *afs_lookup(struct inode *dir, struct dentry *dentry,
|
|||
afs_stat_v(dvnode, n_lookup);
|
||||
inode = afs_do_lookup(dir, dentry, key);
|
||||
key_put(key);
|
||||
if (inode == ERR_PTR(-ENOENT)) {
|
||||
if (inode == ERR_PTR(-ENOENT))
|
||||
inode = afs_try_auto_mntpt(dentry, dir);
|
||||
} else {
|
||||
dentry->d_fsdata =
|
||||
(void *)(unsigned long)dvnode->status.data_version;
|
||||
}
|
||||
|
||||
if (!IS_ERR_OR_NULL(inode))
|
||||
fid = AFS_FS_I(inode)->fid;
|
||||
|
|
Loading…
Reference in New Issue