| /linux-6.15/fs/btrfs/ |
| H A D | raid56.c | 70 rbio->flags, rbio->nr_sectors, rbio->nr_data, in btrfs_dump_rbio() 71 rbio->real_stripes, rbio->stripe_nsectors, in btrfs_dump_rbio() 72 rbio->scrubp, rbio->dbitmap); in btrfs_dump_rbio() 1007 rbio = kzalloc(sizeof(*rbio), GFP_NOFS); in alloc_rbio() 1019 if (!rbio->stripe_pages || !rbio->bio_sectors || !rbio->stripe_sectors || in alloc_rbio() 1283 ASSERT_RBIO(rbio->nr_data > 0, rbio); in assert_rbio() 1289 ASSERT_RBIO(rbio->nr_data < rbio->real_stripes, rbio); in assert_rbio() 1570 if (!rbio->csum_bitmap || !rbio->csum_buf) in verify_bio_data_sectors() 2208 rbio->csum_buf = kzalloc(rbio->nr_data * rbio->stripe_nsectors * in fill_data_csums() 2210 rbio->csum_bitmap = bitmap_zalloc(rbio->nr_data * rbio->stripe_nsectors, in fill_data_csums() [all …]
|
| 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-6.15/fs/bcachefs/ |
| H A D | io_read.c | 112 ? container_of(rbio, struct data_update, rbio) in rbio_data_update() 374 return rbio->split ? rbio->parent : rbio; in bch2_rbio_parent() 393 BUG_ON(rbio->bounce && !rbio->split); in bch2_rbio_free() 410 bch2_bio_free_pages_pool(rbio->c, &rbio->bio); in bch2_rbio_free() 510 rbio = bch2_rbio_free(rbio); in bch2_rbio_retry() 562 rbio = bch2_rbio_free(rbio); in bch2_rbio_error() 580 bch2_read_err_msg(c, &buf, rbio, rbio->read_pos); in bch2_read_io_err() 813 rbio->parent->pick = rbio->pick; in __bch2_read_endio() 833 rbio = bch2_rbio_free(rbio); in __bch2_read_endio() 863 rbio->bio.bi_end_io = rbio->end_io; in bch2_read_endio() [all …]
|
| H A D | io_read.h | 140 int ret = __bch2_read_extent(trans, rbio, rbio->bio.bi_iter, read_pos, in bch2_read_extent() 157 __bch2_read(trans, rbio, rbio->bio.bi_iter, inum, NULL, in bch2_read() 169 rbio->_state = 0; in rbio_init_fragment() 170 rbio->flags = 0; in rbio_init_fragment() 171 rbio->ret = 0; in rbio_init_fragment() 175 return rbio; in rbio_init_fragment() 186 rbio->c = c; in rbio_init() 187 rbio->_state = 0; in rbio_init() 188 rbio->flags = 0; in rbio_init() 189 rbio->ret = 0; in rbio_init() [all …]
|
| H A D | fs-io-buffered.c | 155 struct bch_read_bio *rbio, in bchfs_read() argument 166 rbio->subvol = inum.subvol; in bchfs_read() 219 swap(rbio->bio.bi_iter.bi_size, bytes); in bchfs_read() 221 if (rbio->bio.bi_iter.bi_size == bytes) in bchfs_read() 248 bio_advance(&rbio->bio, bytes); in bchfs_read() 264 rbio->bio.bi_status = BLK_STS_IOERR; in bchfs_read() 265 bio_endio(&rbio->bio); in bchfs_read() 304 struct bch_read_bio *rbio = in bch2_readahead() local 336 struct bch_read_bio *rbio; in bch2_read_single_folio() local 354 rbio->bio.bi_private = &done; in bch2_read_single_folio() [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() 103 dio = container_of(bio, struct dio_read, rbio.bio); in bch2_direct_IO_read() 163 struct bch_read_bio *rbio = in bch2_direct_IO_read() local 171 bch2_read(c, rbio, inode_inum(inode)); in bch2_direct_IO_read() 182 bio_check_or_release(&dio->rbio.bio, dio->should_dirty); in bch2_direct_IO_read() 691 4, offsetof(struct dio_read, rbio.bio), in bch2_fs_fs_io_direct_init()
|
| H A D | move.c | 132 if (io->write.rbio.bio.bi_status) in move_write() 133 atomic64_add(io->write.rbio.bvec_iter.bi_size >> 9, in move_write() 135 else if (io->write.rbio.saw_error) in move_write() 136 atomic64_add(io->write.rbio.bvec_iter.bi_size >> 9, in move_write() 140 if (unlikely(io->write.rbio.ret || in move_write() 141 io->write.rbio.bio.bi_status || in move_write() 173 struct moving_io *io = container_of(bio, struct moving_io, write.rbio.bio); in move_read_endio() 338 io->write.rbio.bio.bi_end_io = move_read_endio; in bch2_move_extent() 339 io->write.rbio.bio.bi_ioprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_IDLE, 0); in bch2_move_extent() 369 __bch2_read_extent(trans, &io->write.rbio, in bch2_move_extent() [all …]
|
| H A D | data_update.h | 48 struct bch_read_bio rbio; member
|
| H A D | data_update.c | 453 m->op.crc = m->rbio.pick.crc; in bch2_data_update_read_done() 676 bio_init(&m->rbio.bio, NULL, m->bvecs, nr_vecs, REQ_OP_READ); in bch2_data_update_bios_init() 685 rbio_init(&m->rbio.bio, c, *io_opts, NULL); in bch2_data_update_bios_init() 686 m->rbio.data_update = true; in bch2_data_update_bios_init() 687 m->rbio.bio.bi_iter.bi_size = buf_bytes; in bch2_data_update_bios_init() 688 m->rbio.bio.bi_iter.bi_sector = bkey_start_offset(&m->k.k->k); in bch2_data_update_bios_init()
|
| H A D | ec.c | 818 int bch2_ec_read_extent(struct btree_trans *trans, struct bch_read_bio *rbio, in bch2_ec_read_extent() argument 832 BUG_ON(!rbio->pick.has_ec); in bch2_ec_read_extent() 838 ret = lockrestart_do(trans, get_stripe_key_trans(trans, rbio->pick.ec.idx, buf)); in bch2_ec_read_extent() 846 if (!bch2_ptr_matches_stripe(v, rbio->pick)) { in bch2_ec_read_extent() 851 offset = rbio->bio.bi_iter.bi_sector - v->ptrs[rbio->pick.ec.block].offset; in bch2_ec_read_extent() 852 if (offset + bio_sectors(&rbio->bio) > le16_to_cpu(v->sectors)) { in bch2_ec_read_extent() 857 ret = ec_stripe_buf_init(buf, offset, bio_sectors(&rbio->bio)); in bch2_ec_read_extent() 879 memcpy_to_bio(&rbio->bio, rbio->bio.bi_iter, in bch2_ec_read_extent() 880 buf->data[rbio->pick.ec.block] + ((offset - buf->offset) << 9)); in bch2_ec_read_extent()
|
| /linux-6.15/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 | 181 struct bio *rbio = r10_bio->devs[j].repl_bio; in r10buf_pool_alloc() local 185 if (rbio) in r10buf_pool_alloc() 201 if (rbio) { in r10buf_pool_alloc() 203 rbio->bi_private = rp_repl; in r10buf_pool_alloc() 1779 struct bio *mbio, *rbio = NULL; in raid10_handle_discard() local 1829 rbio = bio_alloc_clone(bio->bi_bdev, bio, GFP_NOIO, in raid10_handle_discard() 1831 rbio->bi_end_io = raid10_end_discard_request; in raid10_handle_discard() 1832 rbio->bi_private = r10_bio; in raid10_handle_discard() 1833 r10_bio->devs[disk].repl_bio = rbio; in raid10_handle_discard() 1836 md_submit_discard_bio(mddev, rrdev, rbio, in raid10_handle_discard() [all …]
|
| /linux-6.15/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 …]
|