btrfs: stop looking at btrfs_bio->iter in index_one_bio
authorChristoph Hellwig <hch@lst.de>
Fri, 3 Jun 2022 06:57:42 +0000 (08:57 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 25 Jul 2022 15:45:34 +0000 (17:45 +0200)
All the bios that index_one_bio operates on are the bios submitted by the
upper layer.  These are never resubmitted to an actual device by the
raid56 code, and thus the iter never changes from the initial state.
Thus we can always just use bi_iter directly as it will be the same as
the saved copy.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/raid56.c

index 00cd9e8..3c58869 100644 (file)
@@ -1106,9 +1106,6 @@ static void index_one_bio(struct btrfs_raid_bio *rbio, struct bio *bio)
        u32 offset = (bio->bi_iter.bi_sector << SECTOR_SHIFT) -
                     rbio->bioc->raid_map[0];
 
-       if (bio_flagged(bio, BIO_CLONED))
-               bio->bi_iter = btrfs_bio(bio)->iter;
-
        bio_for_each_segment(bvec, bio, iter) {
                u32 bvec_offset;