f2fs: clean up f2fs_lookup

This patch cleans up to avoid deep indentation.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Jaegeuk Kim 2015-04-22 11:40:27 -07:00
parent f1e8866016
commit 06957e8fe6
1 changed files with 16 additions and 15 deletions

View File

@ -232,31 +232,32 @@ static struct dentry *f2fs_lookup(struct inode *dir, struct dentry *dentry,
struct inode *inode = NULL; struct inode *inode = NULL;
struct f2fs_dir_entry *de; struct f2fs_dir_entry *de;
struct page *page; struct page *page;
nid_t ino;
if (dentry->d_name.len > F2FS_NAME_LEN) if (dentry->d_name.len > F2FS_NAME_LEN)
return ERR_PTR(-ENAMETOOLONG); return ERR_PTR(-ENAMETOOLONG);
de = f2fs_find_entry(dir, &dentry->d_name, &page); de = f2fs_find_entry(dir, &dentry->d_name, &page);
if (de) { if (!de)
nid_t ino = le32_to_cpu(de->ino); return d_splice_alias(inode, dentry);
f2fs_dentry_kunmap(dir, page);
f2fs_put_page(page, 0);
inode = f2fs_iget(dir->i_sb, ino); ino = le32_to_cpu(de->ino);
if (IS_ERR(inode)) f2fs_dentry_kunmap(dir, page);
return ERR_CAST(inode); f2fs_put_page(page, 0);
if (f2fs_has_inline_dots(inode)) { inode = f2fs_iget(dir->i_sb, ino);
int err; if (IS_ERR(inode))
return ERR_CAST(inode);
err = __recover_dot_dentries(inode, dir->i_ino); if (f2fs_has_inline_dots(inode)) {
if (err) { int err;
iget_failed(inode);
return ERR_PTR(err); err = __recover_dot_dentries(inode, dir->i_ino);
} if (err) {
iget_failed(inode);
return ERR_PTR(err);
} }
} }
return d_splice_alias(inode, dentry); return d_splice_alias(inode, dentry);
} }