forked from Minki/linux
Btrfs: fix to catch all errors when resolving indirect ref
We can only tolerate ENOENT here, for other errors, we should return directly. Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com> Signed-off-by: Josef Bacik <jbacik@fb.com> Signed-off-by: Chris Mason <clm@fb.com>
This commit is contained in:
parent
538f72cdf0
commit
95def2ede1
@ -388,10 +388,16 @@ static int __resolve_indirect_refs(struct btrfs_fs_info *fs_info,
|
||||
continue;
|
||||
err = __resolve_indirect_ref(fs_info, path, time_seq, ref,
|
||||
parents, extent_item_pos);
|
||||
if (err == -ENOMEM)
|
||||
goto out;
|
||||
if (err)
|
||||
/*
|
||||
* we can only tolerate ENOENT,otherwise,we should catch error
|
||||
* and return directly.
|
||||
*/
|
||||
if (err == -ENOENT) {
|
||||
continue;
|
||||
} else if (err) {
|
||||
ret = err;
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* we put the first parent into the ref at hand */
|
||||
ULIST_ITER_INIT(&uiter);
|
||||
|
Loading…
Reference in New Issue
Block a user