f2fs: fix to avoid unneeded unlock_new_inode
During ->lookup, I_NEW state of inode was been cleared in f2fs_iget, so in error path, we don't need to clear it again. Signed-off-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>hifive-unleashed-5.1
parent
291bf80bec
commit
d726732c7c
|
@ -308,13 +308,13 @@ static struct dentry *f2fs_lookup(struct inode *dir, struct dentry *dentry,
|
||||||
!fscrypt_has_permitted_context(dir, inode)) {
|
!fscrypt_has_permitted_context(dir, inode)) {
|
||||||
bool nokey = f2fs_encrypted_inode(inode) &&
|
bool nokey = f2fs_encrypted_inode(inode) &&
|
||||||
!fscrypt_has_encryption_key(inode);
|
!fscrypt_has_encryption_key(inode);
|
||||||
iput(inode);
|
err = nokey ? -ENOKEY : -EPERM;
|
||||||
return nokey ? ERR_PTR(-ENOKEY) : ERR_PTR(-EPERM);
|
goto err_out;
|
||||||
}
|
}
|
||||||
return d_splice_alias(inode, dentry);
|
return d_splice_alias(inode, dentry);
|
||||||
|
|
||||||
err_out:
|
err_out:
|
||||||
iget_failed(inode);
|
iput(inode);
|
||||||
return ERR_PTR(err);
|
return ERR_PTR(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue