|
@@ -6788,11 +6788,13 @@ static noinline int walk_up_proc(struct btrfs_trans_handle *trans,
|
|
|
&wc->flags[level]);
|
|
|
if (ret < 0) {
|
|
|
btrfs_tree_unlock_rw(eb, path->locks[level]);
|
|
|
+ path->locks[level] = 0;
|
|
|
return ret;
|
|
|
}
|
|
|
BUG_ON(wc->refs[level] == 0);
|
|
|
if (wc->refs[level] == 1) {
|
|
|
btrfs_tree_unlock_rw(eb, path->locks[level]);
|
|
|
+ path->locks[level] = 0;
|
|
|
return 1;
|
|
|
}
|
|
|
}
|