Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3b2157e authored by Al Viro's avatar Al Viro
Browse files

9p: make sure ->lookup() adds fid to the right dentry



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 7b5be621
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -824,7 +824,6 @@ struct dentry *v9fs_vfs_lookup(struct inode *dir, struct dentry *dentry,
		p9_client_clunk(fid);
		return ERR_CAST(inode);
	}
	v9fs_fid_add(dentry, fid);
	/*
	 * If we had a rename on the server and a parallel lookup
	 * for the new name, then make sure we instantiate with
@@ -833,7 +832,11 @@ struct dentry *v9fs_vfs_lookup(struct inode *dir, struct dentry *dentry,
	 * k/b.
	 */
	res = d_materialise_unique(dentry, inode);
	if (IS_ERR(res))
	if (!res)
		v9fs_fid_add(dentry, fid);
	else if (!IS_ERR(res))
		v9fs_fid_add(res, fid);
	else
		p9_client_clunk(fid);
	return res;
}