forked from Minki/linux
Btrfs: unify naming of btrfs_io_bio
All dio endio functions are using io_bio for struct btrfs_io_bio, this makes btrfs_submit_direct to follow this convention. Signed-off-by: Liu Bo <bo.li.liu@oracle.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
11b5616516
commit
3892ac9086
@ -8577,16 +8577,16 @@ static void btrfs_submit_direct(struct bio *dio_bio, struct inode *inode,
|
||||
loff_t file_offset)
|
||||
{
|
||||
struct btrfs_dio_private *dip = NULL;
|
||||
struct bio *io_bio = NULL;
|
||||
struct btrfs_io_bio *btrfs_bio;
|
||||
struct bio *bio = NULL;
|
||||
struct btrfs_io_bio *io_bio;
|
||||
int skip_sum;
|
||||
bool write = (bio_op(dio_bio) == REQ_OP_WRITE);
|
||||
int ret = 0;
|
||||
|
||||
skip_sum = BTRFS_I(inode)->flags & BTRFS_INODE_NODATASUM;
|
||||
|
||||
io_bio = btrfs_bio_clone(dio_bio, GFP_NOFS);
|
||||
if (!io_bio) {
|
||||
bio = btrfs_bio_clone(dio_bio, GFP_NOFS);
|
||||
if (!bio) {
|
||||
ret = -ENOMEM;
|
||||
goto free_ordered;
|
||||
}
|
||||
@ -8602,17 +8602,17 @@ static void btrfs_submit_direct(struct bio *dio_bio, struct inode *inode,
|
||||
dip->logical_offset = file_offset;
|
||||
dip->bytes = dio_bio->bi_iter.bi_size;
|
||||
dip->disk_bytenr = (u64)dio_bio->bi_iter.bi_sector << 9;
|
||||
io_bio->bi_private = dip;
|
||||
dip->orig_bio = io_bio;
|
||||
bio->bi_private = dip;
|
||||
dip->orig_bio = bio;
|
||||
dip->dio_bio = dio_bio;
|
||||
atomic_set(&dip->pending_bios, 0);
|
||||
btrfs_bio = btrfs_io_bio(io_bio);
|
||||
btrfs_bio->logical = file_offset;
|
||||
io_bio = btrfs_io_bio(bio);
|
||||
io_bio->logical = file_offset;
|
||||
|
||||
if (write) {
|
||||
io_bio->bi_end_io = btrfs_endio_direct_write;
|
||||
bio->bi_end_io = btrfs_endio_direct_write;
|
||||
} else {
|
||||
io_bio->bi_end_io = btrfs_endio_direct_read;
|
||||
bio->bi_end_io = btrfs_endio_direct_read;
|
||||
dip->subio_endio = btrfs_subio_endio_read;
|
||||
}
|
||||
|
||||
@ -8635,8 +8635,8 @@ static void btrfs_submit_direct(struct bio *dio_bio, struct inode *inode,
|
||||
if (!ret)
|
||||
return;
|
||||
|
||||
if (btrfs_bio->end_io)
|
||||
btrfs_bio->end_io(btrfs_bio, ret);
|
||||
if (io_bio->end_io)
|
||||
io_bio->end_io(io_bio, ret);
|
||||
|
||||
free_ordered:
|
||||
/*
|
||||
@ -8648,16 +8648,16 @@ free_ordered:
|
||||
* same as btrfs_endio_direct_[write|read] because we can't call these
|
||||
* callbacks - they require an allocated dip and a clone of dio_bio.
|
||||
*/
|
||||
if (io_bio && dip) {
|
||||
io_bio->bi_error = -EIO;
|
||||
bio_endio(io_bio);
|
||||
if (bio && dip) {
|
||||
bio->bi_error = -EIO;
|
||||
bio_endio(bio);
|
||||
/*
|
||||
* The end io callbacks free our dip, do the final put on io_bio
|
||||
* The end io callbacks free our dip, do the final put on bio
|
||||
* and all the cleanup and final put for dio_bio (through
|
||||
* dio_end_io()).
|
||||
*/
|
||||
dip = NULL;
|
||||
io_bio = NULL;
|
||||
bio = NULL;
|
||||
} else {
|
||||
if (write)
|
||||
__endio_write_update_ordered(inode,
|
||||
@ -8675,8 +8675,8 @@ free_ordered:
|
||||
*/
|
||||
dio_end_io(dio_bio, ret);
|
||||
}
|
||||
if (io_bio)
|
||||
bio_put(io_bio);
|
||||
if (bio)
|
||||
bio_put(bio);
|
||||
kfree(dip);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user