diff options
author | Nikolay Borisov <nborisov@suse.com> | 2020-07-03 11:14:27 +0300 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2020-07-27 12:55:40 +0200 |
commit | c31efbdf23a09468c9352f05443d5624dbbfd3c7 (patch) | |
tree | bc968559afc3b8187c9ae41f4bc18a554522bf10 /fs/btrfs/raid56.c | |
parent | 3526302f26162ae738926d44eb39e2e0780b11bc (diff) | |
download | lwn-c31efbdf23a09468c9352f05443d5624dbbfd3c7.tar.gz lwn-c31efbdf23a09468c9352f05443d5624dbbfd3c7.zip |
btrfs: record btrfs_device directly in btrfs_io_bio
Instead of recording stripe_index and using that to access correct
btrfs_device from btrfs_bio::stripes record the btrfs_device in
btrfs_io_bio. This will enable endio handlers to increment device
error counters on checksum errors.
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/raid56.c')
-rw-r--r-- | fs/btrfs/raid56.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/raid56.c b/fs/btrfs/raid56.c index c870ef70f817..570f6bf51c6e 100644 --- a/fs/btrfs/raid56.c +++ b/fs/btrfs/raid56.c @@ -1117,6 +1117,7 @@ static int rbio_add_io_page(struct btrfs_raid_bio *rbio, /* put a new bio on the list */ bio = btrfs_io_bio_alloc(bio_max_len >> PAGE_SHIFT ?: 1); + btrfs_io_bio(bio)->device = stripe->dev; bio->bi_iter.bi_size = 0; bio_set_dev(bio, stripe->dev->bdev); bio->bi_iter.bi_sector = disk_start >> 9; |