ext2: ext2_find_entry() return -ENOENT if no entry found

Almost all callers of ext2_find_entry() transform NULL return value to
-ENOENT, so just let ext2_find_entry() retuen -ENOENT instead of NULL
if no valid entry found, and also switch to check the return value of
ext2_inode_by_name() in ext2_lookup() and ext2_get_parent().

Link: https://lore.kernel.org/r/20200608034043.10451-2-yi.zhang@huawei.com
Signed-off-by: zhangyi (F) <yi.zhang@huawei.com>
Suggested-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
zhangyi (F)
2020-06-08 11:40:43 +08:00
committed by Jan Kara
parent b4962091a5
commit a43850a380
2 changed files with 10 additions and 21 deletions

View File

@@ -393,7 +393,7 @@ struct ext2_dir_entry_2 *ext2_find_entry (struct inode *dir,
}
} while (n != start);
out:
return NULL;
return ERR_PTR(-ENOENT);
found:
*res_page = page;
@@ -419,7 +419,7 @@ int ext2_inode_by_name(struct inode *dir, const struct qstr *child, ino_t *ino)
struct page *page;
de = ext2_find_entry(dir, child, &page);
if (IS_ERR_OR_NULL(de))
if (IS_ERR(de))
return PTR_ERR(de);
*ino = le32_to_cpu(de->inode);