提交 7ab5cb2a 编写于 作者: D David Sterba

btrfs: untangle gotos a bit in __clear_extent_bit

Signed-off-by: NDavid Sterba <dsterba@suse.com>
上级 b5a4ba14
......@@ -726,14 +726,6 @@ static int __clear_extent_bit(struct extent_io_tree *tree, u64 start, u64 end,
start = last_end + 1;
if (start <= end && state && !need_resched())
goto hit_next;
goto search_again;
out:
spin_unlock(&tree->lock);
if (prealloc)
free_extent_state(prealloc);
return 0;
search_again:
if (start > end)
......@@ -742,6 +734,14 @@ static int __clear_extent_bit(struct extent_io_tree *tree, u64 start, u64 end,
if (gfpflags_allow_blocking(mask))
cond_resched();
goto again;
out:
spin_unlock(&tree->lock);
if (prealloc)
free_extent_state(prealloc);
return 0;
}
static void wait_on_state(struct extent_io_tree *tree,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册