From: Johannes Thumshirn Date: Wed, 31 Jul 2024 20:43:05 +0000 (+0200) Subject: btrfs: set search_commit_root on stripe io in case of relocation X-Git-Tag: v6.12-rc1~207^2~53 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f4d39cf1cebfb83f76ffdd632958248aff364e33;p=thirdparty%2Fkernel%2Flinux.git btrfs: set search_commit_root on stripe io in case of relocation Set rst_search_commit_root in the btrfs_io_stripe we're passing to btrfs_map_block() in case we're doing data relocation. Reviewed-by: Josef Bacik Reviewed-by: Qu Wenruo Signed-off-by: Johannes Thumshirn Signed-off-by: David Sterba --- diff --git a/fs/btrfs/bio.c b/fs/btrfs/bio.c index 36d0e52faeecd..f6cb58d7f16a4 100644 --- a/fs/btrfs/bio.c +++ b/fs/btrfs/bio.c @@ -678,7 +678,10 @@ static bool btrfs_submit_chunk(struct btrfs_bio *bbio, int mirror_num) blk_status_t ret; int error; - smap.rst_search_commit_root = !bbio->inode; + if (!bbio->inode || btrfs_is_data_reloc_root(inode->root)) + smap.rst_search_commit_root = true; + else + smap.rst_search_commit_root = false; btrfs_bio_counter_inc_blocked(fs_info); error = btrfs_map_block(fs_info, btrfs_op(bio), logical, &map_length,