Commit c6c45303 authored by Josef Bacik's avatar Josef Bacik Committed by David Sterba

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: default avatarNikolay Borisov <nborisov@suse.com>
Reviewed-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
Tested-by: default avatarNikolay Borisov <nborisov@suse.com>
Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 920a9958
...@@ -777,7 +777,7 @@ static void flush_space(struct btrfs_fs_info *fs_info, ...@@ -777,7 +777,7 @@ static void flush_space(struct btrfs_fs_info *fs_info,
break; break;
} }
ret = btrfs_chunk_alloc(trans, 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 : (state == ALLOC_CHUNK) ? CHUNK_ALLOC_NO_FORCE :
CHUNK_ALLOC_FORCE); CHUNK_ALLOC_FORCE);
btrfs_end_transaction(trans); btrfs_end_transaction(trans);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment