diff options
| -rw-r--r-- | fs/btrfs/extent_io.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 3ecd8b1f239f..d39e2241ceb7 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c | |||
| @@ -1262,15 +1262,6 @@ hit_next: | |||
| 1262 | goto out; | 1262 | goto out; |
| 1263 | } | 1263 | } |
| 1264 | 1264 | ||
| 1265 | goto search_again; | ||
| 1266 | |||
| 1267 | out: | ||
| 1268 | spin_unlock(&tree->lock); | ||
| 1269 | if (prealloc) | ||
| 1270 | free_extent_state(prealloc); | ||
| 1271 | |||
| 1272 | return err; | ||
| 1273 | |||
| 1274 | search_again: | 1265 | search_again: |
| 1275 | if (start > end) | 1266 | if (start > end) |
| 1276 | goto out; | 1267 | goto out; |
| @@ -1279,6 +1270,13 @@ search_again: | |||
| 1279 | cond_resched(); | 1270 | cond_resched(); |
| 1280 | first_iteration = false; | 1271 | first_iteration = false; |
| 1281 | goto again; | 1272 | goto again; |
| 1273 | |||
| 1274 | out: | ||
| 1275 | spin_unlock(&tree->lock); | ||
| 1276 | if (prealloc) | ||
| 1277 | free_extent_state(prealloc); | ||
| 1278 | |||
| 1279 | return err; | ||
| 1282 | } | 1280 | } |
| 1283 | 1281 | ||
| 1284 | /* wrappers around set/clear extent bit */ | 1282 | /* wrappers around set/clear extent bit */ |
