]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
btrfs: untangle gotos a bit in convert_extent_bit
authorDavid Sterba <dsterba@suse.com>
Tue, 26 Apr 2016 23:02:15 +0000 (01:02 +0200)
committerDavid Sterba <dsterba@suse.com>
Fri, 29 Apr 2016 09:01:47 +0000 (11:01 +0200)
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c

index 3ecd8b1f239fccfaf277c7bf50e215440610a534..d39e2241ceb74cf2073935209e10b577885c23aa 100644 (file)
@@ -1262,15 +1262,6 @@ int convert_extent_bit(struct extent_io_tree *tree, u64 start, u64 end,
                goto out;
        }
 
-       goto search_again;
-
-out:
-       spin_unlock(&tree->lock);
-       if (prealloc)
-               free_extent_state(prealloc);
-
-       return err;
-
 search_again:
        if (start > end)
                goto out;
@@ -1279,6 +1270,13 @@ int convert_extent_bit(struct extent_io_tree *tree, u64 start, u64 end,
                cond_resched();
        first_iteration = false;
        goto again;
+
+out:
+       spin_unlock(&tree->lock);
+       if (prealloc)
+               free_extent_state(prealloc);
+
+       return err;
 }
 
 /* wrappers around set/clear extent bit */