aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/btrfs/extent_io.c16
1 files changed, 8 insertions, 8 deletions
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:
726 start = last_end + 1; 726 start = last_end + 1;
727 if (start <= end && state && !need_resched()) 727 if (start <= end && state && !need_resched())
728 goto hit_next; 728 goto hit_next;
729 goto search_again;
730
731out:
732 spin_unlock(&tree->lock);
733 if (prealloc)
734 free_extent_state(prealloc);
735
736 return 0;
737 729
738search_again: 730search_again:
739 if (start > end) 731 if (start > end)
@@ -742,6 +734,14 @@ search_again:
742 if (gfpflags_allow_blocking(mask)) 734 if (gfpflags_allow_blocking(mask))
743 cond_resched(); 735 cond_resched();
744 goto again; 736 goto again;
737
738out:
739 spin_unlock(&tree->lock);
740 if (prealloc)
741 free_extent_state(prealloc);
742
743 return 0;
744
745} 745}
746 746
747static void wait_on_state(struct extent_io_tree *tree, 747static void wait_on_state(struct extent_io_tree *tree,