diff options
-rw-r--r-- | fs/btrfs/extent-tree.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 5e2c0bf84075..54e63b273a64 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c | |||
@@ -6681,9 +6681,11 @@ try_reserve: | |||
6681 | return block_rsv; | 6681 | return block_rsv; |
6682 | /* | 6682 | /* |
6683 | * If we couldn't reserve metadata bytes try and use some from | 6683 | * If we couldn't reserve metadata bytes try and use some from |
6684 | * the global reserve. | 6684 | * the global reserve if its space type is the same as the global |
6685 | * reservation. | ||
6685 | */ | 6686 | */ |
6686 | if (block_rsv->type != BTRFS_BLOCK_RSV_GLOBAL) { | 6687 | if (block_rsv->type != BTRFS_BLOCK_RSV_GLOBAL && |
6688 | block_rsv->space_info == global_rsv->space_info) { | ||
6687 | ret = block_rsv_use_bytes(global_rsv, blocksize); | 6689 | ret = block_rsv_use_bytes(global_rsv, blocksize); |
6688 | if (!ret) | 6690 | if (!ret) |
6689 | return global_rsv; | 6691 | return global_rsv; |