mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-16 09:13:55 +08:00
btrfs: lift bio_set_dev from bio allocation helpers
The block device is passed around for the only purpose to set it in new bios. Move the assignment one level up. This is a preparatory patch for further bdev cleanups. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
e1ea2beee2
commit
e749af443f
@ -340,7 +340,8 @@ blk_status_t btrfs_submit_compressed_write(struct inode *inode, u64 start,
|
|||||||
|
|
||||||
bdev = fs_info->fs_devices->latest_bdev;
|
bdev = fs_info->fs_devices->latest_bdev;
|
||||||
|
|
||||||
bio = btrfs_bio_alloc(bdev, first_byte);
|
bio = btrfs_bio_alloc(first_byte);
|
||||||
|
bio_set_dev(bio, bdev);
|
||||||
bio->bi_opf = REQ_OP_WRITE | write_flags;
|
bio->bi_opf = REQ_OP_WRITE | write_flags;
|
||||||
bio->bi_private = cb;
|
bio->bi_private = cb;
|
||||||
bio->bi_end_io = end_compressed_bio_write;
|
bio->bi_end_io = end_compressed_bio_write;
|
||||||
@ -382,7 +383,8 @@ blk_status_t btrfs_submit_compressed_write(struct inode *inode, u64 start,
|
|||||||
bio_endio(bio);
|
bio_endio(bio);
|
||||||
}
|
}
|
||||||
|
|
||||||
bio = btrfs_bio_alloc(bdev, first_byte);
|
bio = btrfs_bio_alloc(first_byte);
|
||||||
|
bio_set_dev(bio, bdev);
|
||||||
bio->bi_opf = REQ_OP_WRITE | write_flags;
|
bio->bi_opf = REQ_OP_WRITE | write_flags;
|
||||||
bio->bi_private = cb;
|
bio->bi_private = cb;
|
||||||
bio->bi_end_io = end_compressed_bio_write;
|
bio->bi_end_io = end_compressed_bio_write;
|
||||||
@ -620,7 +622,8 @@ blk_status_t btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
|
|||||||
/* include any pages we added in add_ra-bio_pages */
|
/* include any pages we added in add_ra-bio_pages */
|
||||||
cb->len = bio->bi_iter.bi_size;
|
cb->len = bio->bi_iter.bi_size;
|
||||||
|
|
||||||
comp_bio = btrfs_bio_alloc(bdev, cur_disk_byte);
|
comp_bio = btrfs_bio_alloc(cur_disk_byte);
|
||||||
|
bio_set_dev(comp_bio, bdev);
|
||||||
comp_bio->bi_opf = REQ_OP_READ;
|
comp_bio->bi_opf = REQ_OP_READ;
|
||||||
comp_bio->bi_private = cb;
|
comp_bio->bi_private = cb;
|
||||||
comp_bio->bi_end_io = end_compressed_bio_read;
|
comp_bio->bi_end_io = end_compressed_bio_read;
|
||||||
@ -670,7 +673,8 @@ blk_status_t btrfs_submit_compressed_read(struct inode *inode, struct bio *bio,
|
|||||||
bio_endio(comp_bio);
|
bio_endio(comp_bio);
|
||||||
}
|
}
|
||||||
|
|
||||||
comp_bio = btrfs_bio_alloc(bdev, cur_disk_byte);
|
comp_bio = btrfs_bio_alloc(cur_disk_byte);
|
||||||
|
bio_set_dev(comp_bio, bdev);
|
||||||
comp_bio->bi_opf = REQ_OP_READ;
|
comp_bio->bi_opf = REQ_OP_READ;
|
||||||
comp_bio->bi_private = cb;
|
comp_bio->bi_private = cb;
|
||||||
comp_bio->bi_end_io = end_compressed_bio_read;
|
comp_bio->bi_end_io = end_compressed_bio_read;
|
||||||
|
@ -2861,12 +2861,11 @@ static inline void btrfs_io_bio_init(struct btrfs_io_bio *btrfs_bio)
|
|||||||
* never fail. We're returning a bio right now but you can call btrfs_io_bio
|
* never fail. We're returning a bio right now but you can call btrfs_io_bio
|
||||||
* for the appropriate container_of magic
|
* for the appropriate container_of magic
|
||||||
*/
|
*/
|
||||||
struct bio *btrfs_bio_alloc(struct block_device *bdev, u64 first_byte)
|
struct bio *btrfs_bio_alloc(u64 first_byte)
|
||||||
{
|
{
|
||||||
struct bio *bio;
|
struct bio *bio;
|
||||||
|
|
||||||
bio = bio_alloc_bioset(GFP_NOFS, BIO_MAX_PAGES, &btrfs_bioset);
|
bio = bio_alloc_bioset(GFP_NOFS, BIO_MAX_PAGES, &btrfs_bioset);
|
||||||
bio_set_dev(bio, bdev);
|
|
||||||
bio->bi_iter.bi_sector = first_byte >> 9;
|
bio->bi_iter.bi_sector = first_byte >> 9;
|
||||||
btrfs_io_bio_init(btrfs_io_bio(bio));
|
btrfs_io_bio_init(btrfs_io_bio(bio));
|
||||||
return bio;
|
return bio;
|
||||||
@ -2977,7 +2976,8 @@ static int submit_extent_page(unsigned int opf, struct extent_io_tree *tree,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bio = btrfs_bio_alloc(bdev, offset);
|
bio = btrfs_bio_alloc(offset);
|
||||||
|
bio_set_dev(bio, bdev);
|
||||||
bio_add_page(bio, page, page_size, pg_offset);
|
bio_add_page(bio, page, page_size, pg_offset);
|
||||||
bio->bi_end_io = end_io_func;
|
bio->bi_end_io = end_io_func;
|
||||||
bio->bi_private = tree;
|
bio->bi_private = tree;
|
||||||
|
@ -497,7 +497,7 @@ void extent_clear_unlock_delalloc(struct inode *inode, u64 start, u64 end,
|
|||||||
u64 delalloc_end, struct page *locked_page,
|
u64 delalloc_end, struct page *locked_page,
|
||||||
unsigned bits_to_clear,
|
unsigned bits_to_clear,
|
||||||
unsigned long page_ops);
|
unsigned long page_ops);
|
||||||
struct bio *btrfs_bio_alloc(struct block_device *bdev, u64 first_byte);
|
struct bio *btrfs_bio_alloc(u64 first_byte);
|
||||||
struct bio *btrfs_io_bio_alloc(unsigned int nr_iovecs);
|
struct bio *btrfs_io_bio_alloc(unsigned int nr_iovecs);
|
||||||
struct bio *btrfs_bio_clone(struct bio *bio);
|
struct bio *btrfs_bio_clone(struct bio *bio);
|
||||||
struct bio *btrfs_bio_clone_partial(struct bio *orig, int offset, int size);
|
struct bio *btrfs_bio_clone_partial(struct bio *orig, int offset, int size);
|
||||||
|
Loading…
Reference in New Issue
Block a user