Message ID | 20240731-debug-v3-3-f9b7ed479b10@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs: fix relocation on RAID stripe-tree filesystems | expand |
On Wed, Jul 31, 2024 at 10:43:05PM +0200, Johannes Thumshirn wrote: > From: Johannes Thumshirn <johannes.thumshirn@wdc.com> > > 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 <josef@toxicpanda.com> > Reviewed-by: Qu Wenruo <wqu@suse.com> > Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> > --- > fs/btrfs/bio.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/btrfs/bio.c b/fs/btrfs/bio.c > index dfb32f7d3fc2..c6563616c813 100644 > --- a/fs/btrfs/bio.c > +++ b/fs/btrfs/bio.c > @@ -679,7 +679,8 @@ 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; > + smap.rst_search_commit_root = > + (!bbio->inode || btrfs_is_data_reloc_root(inode->root)); Please use an 'if' here
diff --git a/fs/btrfs/bio.c b/fs/btrfs/bio.c index dfb32f7d3fc2..c6563616c813 100644 --- a/fs/btrfs/bio.c +++ b/fs/btrfs/bio.c @@ -679,7 +679,8 @@ 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; + smap.rst_search_commit_root = + (!bbio->inode || btrfs_is_data_reloc_root(inode->root)); btrfs_bio_counter_inc_blocked(fs_info); error = btrfs_map_block(fs_info, btrfs_op(bio), logical, &map_length,