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

Commit 0903a0c8 authored by Al Viro's avatar Al Viro
Browse files

cifs: get rid of blind d_drop() in readdir



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent c44600c9
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -86,14 +86,17 @@ cifs_readdir_lookup(struct dentry *parent, struct qstr *name,

	dentry = d_lookup(parent, name);
	if (dentry) {
		int err;
		inode = dentry->d_inode;
		/* update inode in place if i_ino didn't change */
		if (inode && CIFS_I(inode)->uniqueid == fattr->cf_uniqueid) {
			cifs_fattr_to_inode(inode, fattr);
			return dentry;
		}
		d_drop(dentry);
		err = d_invalidate(dentry);
		dput(dentry);
		if (err)
			return NULL;
	}

	dentry = d_alloc(parent, name);