btrfs: simplify the no-bioc fast path condition in btrfs_map_block
authorChristoph Hellwig <hch@lst.de>
Tue, 27 Jun 2023 06:13:24 +0000 (08:13 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 21 Aug 2023 12:52:13 +0000 (14:52 +0200)
nr_alloc_stripes can't be one if we are writing to a replacement device,
as it is incremented for that case right above.  Remove the duplicate
checks.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/volumes.c

index 6d3aa26..8af0e54 100644 (file)
@@ -6432,9 +6432,7 @@ int btrfs_map_block(struct btrfs_fs_info *fs_info, enum btrfs_map_op op,
         * I/O context structure.
         */
        if (smap && num_alloc_stripes == 1 &&
-           !((map->type & BTRFS_BLOCK_GROUP_RAID56_MASK) && mirror_num > 1) &&
-           (op == BTRFS_MAP_READ || !dev_replace_is_ongoing ||
-            !dev_replace->tgtdev)) {
+           !((map->type & BTRFS_BLOCK_GROUP_RAID56_MASK) && mirror_num > 1)) {
                set_io_stripe(smap, map, stripe_index, stripe_offset, stripe_nr);
                if (mirror_num_ret)
                        *mirror_num_ret = mirror_num;