提交 8f24b496 编写于 作者: J Jan Schmidt 提交者: David Sterba

Btrfs: avoid positive number with ERR_PTR

inode_ref_info() returns 1 when the element wasn't found and < 0 on error,
just like btrfs_search_slot(). In iref_to_path() it's an error when the
inode ref can't be found, thus we return ERR_PTR(ret) in that case. In order
to avoid ERR_PTR(1), we now set ret to -ENOENT in that case.
Signed-off-by: NJan Schmidt <list.btrfs@jan-o-sch.net>
上级 941b2ddf
...@@ -892,6 +892,8 @@ static char *iref_to_path(struct btrfs_root *fs_root, struct btrfs_path *path, ...@@ -892,6 +892,8 @@ static char *iref_to_path(struct btrfs_root *fs_root, struct btrfs_path *path,
if (eb != eb_in) if (eb != eb_in)
free_extent_buffer(eb); free_extent_buffer(eb);
ret = inode_ref_info(parent, 0, fs_root, path, &found_key); ret = inode_ref_info(parent, 0, fs_root, path, &found_key);
if (ret > 0)
ret = -ENOENT;
if (ret) if (ret)
break; break;
next_inum = found_key.offset; next_inum = found_key.offset;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册