From: David Sterba Date: Tue, 26 Apr 2016 23:02:15 +0000 (+0200) Subject: btrfs: untangle gotos a bit in __clear_extent_bit X-Git-Tag: v4.7-rc1~21^2~1^2~1^2~4 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=7ab5cb2a9e3161de3a288bafd100515b5f44f27e;p=karo-tx-linux.git btrfs: untangle gotos a bit in __clear_extent_bit Signed-off-by: David Sterba --- diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index f5eda54e225f..3ecd8b1f239f 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -726,14 +726,6 @@ next: 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 @@ search_again: 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,