Commit 518c32a1 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

NFS: Initialise verifiers for visible dentries in nfs_atomic_open()



Ensure that the verifiers are initialised before calling
d_splice_alias() in nfs_atomic_open().

Reported-by: default avatarMichael Stoler <michael.stoler@vastdata.com>
Fixes: 809fd143 ("NFSv4: Ensure nfs_atomic_open set the dentry verifier on ENOENT")
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 9bd54553
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2144,12 +2144,12 @@ int nfs_atomic_open(struct inode *dir, struct dentry *dentry,
		d_drop(dentry);
		switch (err) {
		case -ENOENT:
			d_splice_alias(NULL, dentry);
			if (nfs_server_capable(dir, NFS_CAP_CASE_INSENSITIVE))
				dir_verifier = inode_peek_iversion_raw(dir);
			else
				dir_verifier = nfs_save_change_attribute(dir);
			nfs_set_verifier(dentry, dir_verifier);
			d_splice_alias(NULL, dentry);
			break;
		case -EISDIR:
		case -ENOTDIR: