提交 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, ...@@ -726,14 +726,6 @@ static int __clear_extent_bit(struct extent_io_tree *tree, u64 start, u64 end,
start = last_end + 1; start = last_end + 1;
if (start <= end && state && !need_resched()) if (start <= end && state && !need_resched())
goto hit_next; goto hit_next;
goto search_again;
out:
spin_unlock(&tree->lock);
if (prealloc)
free_extent_state(prealloc);
return 0;
search_again: search_again:
if (start > end) if (start > end)
...@@ -742,6 +734,14 @@ static int __clear_extent_bit(struct extent_io_tree *tree, u64 start, u64 end, ...@@ -742,6 +734,14 @@ static int __clear_extent_bit(struct extent_io_tree *tree, u64 start, u64 end,
if (gfpflags_allow_blocking(mask)) if (gfpflags_allow_blocking(mask))
cond_resched(); cond_resched();
goto again; 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, 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.
先完成此消息的编辑!
想要评论请 注册