From: Josef Bacik Date: Tue, 21 Jul 2020 14:22:16 +0000 (-0400) Subject: btrfs: make ALLOC_CHUNK use the space info flags X-Git-Tag: v5.10.7~1090^2~177 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c6c453032ea3b9033f0a312175aab6519ff9bdf7;p=platform%2Fkernel%2Flinux-rpi.git 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 Reviewed-by: Johannes Thumshirn Tested-by: Nikolay Borisov Signed-off-by: Josef Bacik Reviewed-by: David Sterba Signed-off-by: David Sterba --- diff --git a/fs/btrfs/space-info.c b/fs/btrfs/space-info.c index 3aaeff2..ed2ca20 100644 --- a/fs/btrfs/space-info.c +++ b/fs/btrfs/space-info.c @@ -777,7 +777,7 @@ 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);