mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 19:43:40 +02:00
btrfs: remove struct btrfs_bio::device field
The device field is only used by the simple end I/O handler, and for that it can simply be stored in the bi_private field of the bio, which is currently used for the fs_info that can be retrieved through bbio->inode as well. 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>
This commit is contained in:
parent
3d49d0d312
commit
860c8c4516
|
|
@ -263,18 +263,19 @@ static void btrfs_end_bio_work(struct work_struct *work)
|
|||
if (bbio->bio.bi_opf & REQ_META)
|
||||
bbio->end_io(bbio);
|
||||
else
|
||||
btrfs_check_read_bio(bbio, bbio->device);
|
||||
btrfs_check_read_bio(bbio, bbio->bio.bi_private);
|
||||
}
|
||||
|
||||
static void btrfs_simple_end_io(struct bio *bio)
|
||||
{
|
||||
struct btrfs_fs_info *fs_info = bio->bi_private;
|
||||
struct btrfs_bio *bbio = btrfs_bio(bio);
|
||||
struct btrfs_device *dev = bio->bi_private;
|
||||
struct btrfs_fs_info *fs_info = bbio->inode->root->fs_info;
|
||||
|
||||
btrfs_bio_counter_dec(fs_info);
|
||||
|
||||
if (bio->bi_status)
|
||||
btrfs_log_dev_io_error(bio, bbio->device);
|
||||
btrfs_log_dev_io_error(bio, dev);
|
||||
|
||||
if (bio_op(bio) == REQ_OP_READ) {
|
||||
INIT_WORK(&bbio->end_io_work, btrfs_end_bio_work);
|
||||
|
|
@ -440,9 +441,8 @@ void btrfs_submit_bio(struct btrfs_fs_info *fs_info, struct bio *bio, int mirror
|
|||
if (!bioc) {
|
||||
/* Single mirror read/write fast path */
|
||||
bbio->mirror_num = mirror_num;
|
||||
bbio->device = smap.dev;
|
||||
bio->bi_iter.bi_sector = smap.physical >> SECTOR_SHIFT;
|
||||
bio->bi_private = fs_info;
|
||||
bio->bi_private = smap.dev;
|
||||
bio->bi_end_io = btrfs_simple_end_io;
|
||||
btrfs_submit_dev_bio(smap.dev, bio);
|
||||
} else if (bioc->map_type & BTRFS_BLOCK_GROUP_RAID56_MASK) {
|
||||
|
|
|
|||
|
|
@ -45,8 +45,6 @@ struct btrfs_bio {
|
|||
struct btrfs_inode *inode;
|
||||
u64 file_offset;
|
||||
|
||||
/* @device is for stripe IO submission. */
|
||||
struct btrfs_device *device;
|
||||
union {
|
||||
/* For data checksum verification. */
|
||||
struct {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user