diff options
author | Josef Bacik <josef@toxicpanda.com> | 2020-01-28 13:41:27 -0500 |
---|---|---|
committer | Josef Bacik <josef@toxicpanda.com> | 2020-02-14 10:04:05 -0500 |
commit | 9075cf2151892def2457f2f087189b7fc81f6518 (patch) | |
tree | a84d03dbc33bf18b0dd45cfec46f272907a8103c | |
parent | 108a91de31fe21dfce08823202c0362c03abc1b9 (diff) | |
download | btrfs-next-9075cf2151892def2457f2f087189b7fc81f6518.tar.gz |
btrfs: make ALLOC_CHUNK use the space info flags
We have traditionally used flush_space() to flush metadata space, so
we've been unconditionally using btrfs_metadata_alloc_profile() for our
profile to allocate a chunk. However if we're going to use this for
data we need to use btrfs_get_alloc_profile() on the space_info we pass
in.
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Tested-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
-rw-r--r-- | fs/btrfs/space-info.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/space-info.c b/fs/btrfs/space-info.c index a2222f4d650038..7bbed95b48717d 100644 --- a/fs/btrfs/space-info.c +++ b/fs/btrfs/space-info.c @@ -751,7 +751,8 @@ static void flush_space(struct btrfs_fs_info *fs_info, break; } ret = btrfs_chunk_alloc(trans, - btrfs_metadata_alloc_profile(fs_info), + btrfs_get_alloc_profile(fs_info, + space_info->flags), (state == ALLOC_CHUNK) ? CHUNK_ALLOC_NO_FORCE : CHUNK_ALLOC_FORCE); btrfs_end_transaction(trans); |