/linux/fs/bcachefs/ |
H A D | io_read.c | 152 static void promote_start(struct promote_op *op, struct bch_read_bio *rbio) in promote_start() argument 156 trace_and_count(op->write.op.c, read_promote, &rbio->bio); in promote_start() 159 BUG_ON(!rbio->bounce); in promote_start() 160 BUG_ON(rbio->bio.bi_vcnt > bio->bi_max_vecs); in promote_start() 162 memcpy(bio->bi_io_vec, rbio->bio.bi_io_vec, in promote_start() 163 sizeof(struct bio_vec) * rbio->bio.bi_vcnt); in promote_start() 164 swap(bio->bi_vcnt, rbio->bio.bi_vcnt); in promote_start() 166 bch2_data_update_read_done(&op->write, rbio->pick.crc); in promote_start() 176 struct bch_read_bio **rbio, in __promote_alloc() argument 201 *rbio = kzalloc(sizeof(struct bch_read_bio) + in __promote_alloc() [all …]
|
H A D | io_read.h | 130 struct bch_read_bio *rbio, struct bpos read_pos, in bch2_read_extent() argument 134 __bch2_read_extent(trans, rbio, rbio->bio.bi_iter, read_pos, in bch2_read_extent() 141 static inline void bch2_read(struct bch_fs *c, struct bch_read_bio *rbio, in bch2_read() argument 146 BUG_ON(rbio->_state); in bch2_read() 148 rbio->c = c; in bch2_read() 149 rbio->start_time = local_clock(); in bch2_read() 150 rbio->subvol = inum.subvol; in bch2_read() 152 __bch2_read(c, rbio, rbio->bio.bi_iter, inum, &failed, in bch2_read() 161 struct bch_read_bio *rbio = to_rbio(bio); in rbio_init() local 163 rbio->_state = 0; in rbio_init() [all …]
|
H A D | fs-io-buffered.c | 145 struct bch_read_bio *rbio, in bchfs_read() argument 156 rbio->c = c; in bchfs_read() 157 rbio->start_time = local_clock(); in bchfs_read() 158 rbio->subvol = inum.subvol; in bchfs_read() 163 POS(inum.inum, rbio->bio.bi_iter.bi_sector), in bchfs_read() 181 POS(inum.inum, rbio->bio.bi_iter.bi_sector)); in bchfs_read() 204 ret = readpage_bio_extend(trans, readpages_iter, &rbio->bio, sectors, in bchfs_read() 210 bytes = min(sectors, bio_sectors(&rbio->bio)) << 9; in bchfs_read() 211 swap(rbio->bio.bi_iter.bi_size, bytes); in bchfs_read() 213 if (rbio->bio.bi_iter.bi_size == bytes) in bchfs_read() [all …]
|
H A D | fs-io-direct.c | 25 struct bch_read_bio rbio; member 43 bio_check_or_release(&dio->rbio.bio, dio->should_dirty); in CLOSURE_CALLBACK() 104 dio = container_of(bio, struct dio_read, rbio.bio); in bch2_direct_IO_read() 174 bio_check_or_release(&dio->rbio.bio, dio->should_dirty); in bch2_direct_IO_read() 683 4, offsetof(struct dio_read, rbio.bio), in bch2_fs_fs_io_direct_init()
|
H A D | ec.c | 840 int bch2_ec_read_extent(struct btree_trans *trans, struct bch_read_bio *rbio, in bch2_ec_read_extent() argument 854 BUG_ON(!rbio->pick.has_ec); in bch2_ec_read_extent() 860 ret = lockrestart_do(trans, get_stripe_key_trans(trans, rbio->pick.ec.idx, buf)); in bch2_ec_read_extent() 868 if (!bch2_ptr_matches_stripe(v, rbio->pick)) { in bch2_ec_read_extent() 873 offset = rbio->bio.bi_iter.bi_sector - v->ptrs[rbio->pick.ec.block].offset; in bch2_ec_read_extent() 874 if (offset + bio_sectors(&rbio->bio) > le16_to_cpu(v->sectors)) { in bch2_ec_read_extent() 879 ret = ec_stripe_buf_init(buf, offset, bio_sectors(&rbio->bio)); in bch2_ec_read_extent() 901 memcpy_to_bio(&rbio->bio, rbio->bio.bi_iter, in bch2_ec_read_extent() 902 buf->data[rbio->pick.ec.block] + ((offset - buf->offset) << 9)); in bch2_ec_read_extent()
|
/linux/fs/btrfs/ |
H A D | raid56.h | 202 void raid56_parity_submit_scrub_rbio(struct btrfs_raid_bio *rbio); 204 void raid56_parity_cache_data_pages(struct btrfs_raid_bio *rbio,
|
H A D | scrub.c | 1955 struct btrfs_raid_bio *rbio; in scrub_raid56_parity_stripe() local 2082 rbio = raid56_parity_alloc_scrub_rbio(bio, bioc, scrub_dev, &extent_bitmap, in scrub_raid56_parity_stripe() 2085 if (!rbio) { in scrub_raid56_parity_stripe() 2094 raid56_parity_cache_data_pages(rbio, stripe->pages, in scrub_raid56_parity_stripe() 2097 raid56_parity_submit_scrub_rbio(rbio); in scrub_raid56_parity_stripe()
|
/linux/drivers/md/ |
H A D | raid1-10.c | 38 static void rbio_pool_free(void *rbio, void *data) in rbio_pool_free() argument 40 kfree(rbio); in rbio_pool_free()
|
H A D | raid10.c | 180 struct bio *rbio = r10_bio->devs[j].repl_bio; in r10buf_pool_alloc() local 184 if (rbio) in r10buf_pool_alloc() 200 if (rbio) { in r10buf_pool_alloc() 202 rbio->bi_private = rp_repl; in r10buf_pool_alloc() 1786 struct bio *mbio, *rbio = NULL; in raid10_handle_discard() local 1836 rbio = bio_alloc_clone(bio->bi_bdev, bio, GFP_NOIO, in raid10_handle_discard() 1838 rbio->bi_end_io = raid10_end_discard_request; in raid10_handle_discard() 1839 rbio->bi_private = r10_bio; in raid10_handle_discard() 1840 r10_bio->devs[disk].repl_bio = rbio; in raid10_handle_discard() 1843 md_submit_discard_bio(mddev, rrdev, rbio, in raid10_handle_discard() [all …]
|
/linux/include/trace/events/ |
H A D | btrfs.h | 2399 TP_PROTO(const struct btrfs_raid_bio *rbio, 2403 TP_ARGS(rbio, bio, trace_info), 2418 TP_fast_assign_btrfs(rbio->bioc->fs_info, 2419 __entry->full_stripe = rbio->bioc->full_stripe_logical; 2426 __entry->total_stripes = rbio->bioc->num_stripes; 2427 __entry->real_stripes = rbio->real_stripes; 2428 __entry->nr_data = rbio->nr_data; 2449 TP_PROTO(const struct btrfs_raid_bio *rbio, 2453 TP_ARGS(rbio, bio, trace_info) 2457 TP_PROTO(const struct btrfs_raid_bio *rbio, [all …]
|