Lines Matching refs:bio

1794 			 size_t size, struct bio *bio,  in btrfs_merge_bio_hook()  argument
1798 u64 logical = (u64)bio->bi_iter.bi_sector << 9; in btrfs_merge_bio_hook()
1806 length = bio->bi_iter.bi_size; in btrfs_merge_bio_hook()
1826 struct bio *bio, int mirror_num, in __btrfs_submit_bio_start() argument
1833 ret = btrfs_csum_one_bio(root, inode, bio, 0, 0); in __btrfs_submit_bio_start()
1846 static int __btrfs_submit_bio_done(struct inode *inode, int rw, struct bio *bio, in __btrfs_submit_bio_done() argument
1853 ret = btrfs_map_bio(root, rw, bio, mirror_num, 1); in __btrfs_submit_bio_done()
1855 bio_endio(bio, ret); in __btrfs_submit_bio_done()
1863 static int btrfs_submit_bio_hook(struct inode *inode, int rw, struct bio *bio, in btrfs_submit_bio_hook() argument
1879 ret = btrfs_bio_wq_end_io(root->fs_info, bio, metadata); in btrfs_submit_bio_hook()
1884 ret = btrfs_submit_compressed_read(inode, bio, in btrfs_submit_bio_hook()
1889 ret = btrfs_lookup_bio_sums(root, inode, bio, NULL); in btrfs_submit_bio_hook()
1900 inode, rw, bio, mirror_num, in btrfs_submit_bio_hook()
1906 ret = btrfs_csum_one_bio(root, inode, bio, 0, 0); in btrfs_submit_bio_hook()
1912 ret = btrfs_map_bio(root, rw, bio, mirror_num, 0); in btrfs_submit_bio_hook()
1916 bio_endio(bio, ret); in btrfs_submit_bio_hook()
7625 static inline int submit_dio_repair_bio(struct inode *inode, struct bio *bio, in submit_dio_repair_bio() argument
7633 bio_get(bio); in submit_dio_repair_bio()
7635 ret = btrfs_bio_wq_end_io(root->fs_info, bio, in submit_dio_repair_bio()
7640 ret = btrfs_map_bio(root, rw, bio, mirror_num, 0); in submit_dio_repair_bio()
7642 bio_put(bio); in submit_dio_repair_bio()
7647 struct bio *failed_bio, in btrfs_check_dio_repairable()
7680 static int dio_read_error(struct inode *inode, struct bio *failed_bio, in dio_read_error()
7686 struct bio *bio; in dio_read_error() local
7711 bio = btrfs_create_repair_bio(inode, failed_bio, failrec, page, in dio_read_error()
7713 if (!bio) { in dio_read_error()
7722 ret = submit_dio_repair_bio(inode, bio, read_mode, in dio_read_error()
7726 bio_put(bio); in dio_read_error()
7739 static void btrfs_retry_endio_nocsum(struct bio *bio, int err) in btrfs_retry_endio_nocsum() argument
7741 struct btrfs_retry_complete *done = bio->bi_private; in btrfs_retry_endio_nocsum()
7749 bio_for_each_segment_all(bvec, bio, i) in btrfs_retry_endio_nocsum()
7753 bio_put(bio); in btrfs_retry_endio_nocsum()
7768 bio_for_each_segment_all(bvec, &io_bio->bio, i) { in __btrfs_correct_data_nocsum()
7774 ret = dio_read_error(inode, &io_bio->bio, bvec->bv_page, start, in __btrfs_correct_data_nocsum()
7794 static void btrfs_retry_endio(struct bio *bio, int err) in btrfs_retry_endio() argument
7796 struct btrfs_retry_complete *done = bio->bi_private; in btrfs_retry_endio()
7797 struct btrfs_io_bio *io_bio = btrfs_io_bio(bio); in btrfs_retry_endio()
7807 bio_for_each_segment_all(bvec, bio, i) { in btrfs_retry_endio()
7821 bio_put(bio); in btrfs_retry_endio()
7838 bio_for_each_segment_all(bvec, &io_bio->bio, i) { in __btrfs_subio_endio_read()
7848 ret = dio_read_error(inode, &io_bio->bio, bvec->bv_page, start, in __btrfs_subio_endio_read()
7886 static void btrfs_endio_direct_read(struct bio *bio, int err) in btrfs_endio_direct_read() argument
7888 struct btrfs_dio_private *dip = bio->bi_private; in btrfs_endio_direct_read()
7890 struct bio *dio_bio; in btrfs_endio_direct_read()
7891 struct btrfs_io_bio *io_bio = btrfs_io_bio(bio); in btrfs_endio_direct_read()
7909 bio_put(bio); in btrfs_endio_direct_read()
7912 static void btrfs_endio_direct_write(struct bio *bio, int err) in btrfs_endio_direct_write() argument
7914 struct btrfs_dio_private *dip = bio->bi_private; in btrfs_endio_direct_write()
7920 struct bio *dio_bio; in btrfs_endio_direct_write()
7956 bio_put(bio); in btrfs_endio_direct_write()
7960 struct bio *bio, int mirror_num, in __btrfs_submit_bio_start_direct_io() argument
7965 ret = btrfs_csum_one_bio(root, inode, bio, offset, 1); in __btrfs_submit_bio_start_direct_io()
7970 static void btrfs_end_dio_bio(struct bio *bio, int err) in btrfs_end_dio_bio() argument
7972 struct btrfs_dio_private *dip = bio->bi_private; in btrfs_end_dio_bio()
7977 btrfs_ino(dip->inode), bio->bi_rw, in btrfs_end_dio_bio()
7978 (unsigned long long)bio->bi_iter.bi_sector, in btrfs_end_dio_bio()
7979 bio->bi_iter.bi_size, err); in btrfs_end_dio_bio()
7982 err = dip->subio_endio(dip->inode, btrfs_io_bio(bio), err); in btrfs_end_dio_bio()
8005 bio_put(bio); in btrfs_end_dio_bio()
8008 static struct bio *btrfs_dio_bio_alloc(struct block_device *bdev, in btrfs_dio_bio_alloc()
8018 struct bio *bio, in btrfs_lookup_and_bind_dio_csum() argument
8021 struct btrfs_io_bio *io_bio = btrfs_io_bio(bio); in btrfs_lookup_and_bind_dio_csum()
8037 if (bio == dip->orig_bio) in btrfs_lookup_and_bind_dio_csum()
8047 static inline int __btrfs_submit_dio_bio(struct bio *bio, struct inode *inode, in __btrfs_submit_dio_bio() argument
8051 struct btrfs_dio_private *dip = bio->bi_private; in __btrfs_submit_dio_bio()
8059 bio_get(bio); in __btrfs_submit_dio_bio()
8062 ret = btrfs_bio_wq_end_io(root->fs_info, bio, in __btrfs_submit_dio_bio()
8073 inode, rw, bio, 0, 0, in __btrfs_submit_dio_bio()
8083 ret = btrfs_csum_one_bio(root, inode, bio, file_offset, 1); in __btrfs_submit_dio_bio()
8087 ret = btrfs_lookup_and_bind_dio_csum(root, inode, dip, bio, in __btrfs_submit_dio_bio()
8093 ret = btrfs_map_bio(root, rw, bio, 0, async_submit); in __btrfs_submit_dio_bio()
8095 bio_put(bio); in __btrfs_submit_dio_bio()
8104 struct bio *bio; in btrfs_submit_direct_hook() local
8105 struct bio *orig_bio = dip->orig_bio; in btrfs_submit_direct_hook()
8122 bio = orig_bio; in btrfs_submit_direct_hook()
8133 bio = btrfs_dio_bio_alloc(orig_bio->bi_bdev, start_sector, GFP_NOFS); in btrfs_submit_direct_hook()
8134 if (!bio) in btrfs_submit_direct_hook()
8137 bio->bi_private = dip; in btrfs_submit_direct_hook()
8138 bio->bi_end_io = btrfs_end_dio_bio; in btrfs_submit_direct_hook()
8139 btrfs_io_bio(bio)->logical = file_offset; in btrfs_submit_direct_hook()
8144 bio_add_page(bio, bvec->bv_page, bvec->bv_len, in btrfs_submit_direct_hook()
8153 ret = __btrfs_submit_dio_bio(bio, inode, rw, in btrfs_submit_direct_hook()
8157 bio_put(bio); in btrfs_submit_direct_hook()
8168 bio = btrfs_dio_bio_alloc(orig_bio->bi_bdev, in btrfs_submit_direct_hook()
8170 if (!bio) in btrfs_submit_direct_hook()
8172 bio->bi_private = dip; in btrfs_submit_direct_hook()
8173 bio->bi_end_io = btrfs_end_dio_bio; in btrfs_submit_direct_hook()
8174 btrfs_io_bio(bio)->logical = file_offset; in btrfs_submit_direct_hook()
8181 bio_put(bio); in btrfs_submit_direct_hook()
8192 ret = __btrfs_submit_dio_bio(bio, inode, rw, file_offset, skip_sum, in btrfs_submit_direct_hook()
8197 bio_put(bio); in btrfs_submit_direct_hook()
8212 static void btrfs_submit_direct(int rw, struct bio *dio_bio, in btrfs_submit_direct()
8217 struct bio *io_bio; in btrfs_submit_direct()