aboutsummaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/extent_map.c44
1 files changed, 22 insertions, 22 deletions
diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c
index 33f7a18dddf..370ed97e52f 100644
--- a/fs/btrfs/extent_map.c
+++ b/fs/btrfs/extent_map.c
@@ -714,28 +714,6 @@ again:
}
/*
* | ---- desired range ---- |
- * | state |
- * We need to split the extent, and set the bit
- * on the first half
- */
- if (state->start <= end && state->end > end) {
- set = state->state & bits;
- if (exclusive && set) {
- *failed_start = start;
- err = -EEXIST;
- goto out;
- }
- err = split_state(tree, state, prealloc, end + 1);
- BUG_ON(err == -EEXIST);
-
- prealloc->state |= bits;
- merge_state(tree, prealloc);
- prealloc = NULL;
- goto out;
- }
-
- /*
- * | ---- desired range ---- |
* | state | or | state |
*
* There's a hole, we need to insert something in it and
@@ -756,6 +734,28 @@ again:
start = this_end + 1;
goto search_again;
}
+ /*
+ * | ---- desired range ---- |
+ * | state |
+ * We need to split the extent, and set the bit
+ * on the first half
+ */
+ if (state->start <= end && state->end > end) {
+ set = state->state & bits;
+ if (exclusive && set) {
+ *failed_start = start;
+ err = -EEXIST;
+ goto out;
+ }
+ err = split_state(tree, state, prealloc, end + 1);
+ BUG_ON(err == -EEXIST);
+
+ prealloc->state |= bits;
+ merge_state(tree, prealloc);
+ prealloc = NULL;
+ goto out;
+ }
+
goto search_again;
out: