Home
last modified time | relevance | path

Searched refs:rbio (Results 1 – 12 of 12) sorted by relevance

/linux/fs/btrfs/
H A Draid56.c183 if (i < rbio->nr_data * rbio->stripe_nsectors) in cache_rbio_pages()
621 if (rbio->nr_data + 1 == rbio->real_stripes) in rbio_qstripe_sector()
926 rbio = kzalloc(sizeof(*rbio), GFP_NOFS); in alloc_rbio()
938 if (!rbio->stripe_pages || !rbio->bio_sectors || !rbio->stripe_sectors || in alloc_rbio()
1207 ASSERT(rbio->nr_data < rbio->real_stripes); in assert_rbio()
1488 if (!rbio->csum_bitmap || !rbio->csum_buf) in verify_bio_data_sectors()
1713 if (!rbio->csum_bitmap || !rbio->csum_buf) in verify_one_sector()
2125 rbio->csum_buf = kzalloc(rbio->nr_data * rbio->stripe_nsectors * in fill_data_csums()
2127 rbio->csum_bitmap = bitmap_zalloc(rbio->nr_data * rbio->stripe_nsectors, in fill_data_csums()
2129 if (!rbio->csum_buf || !rbio->csum_bitmap) { in fill_data_csums()
[all …]
H A Draid56.h202 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 Dscrub.c1931 struct btrfs_raid_bio *rbio; in scrub_raid56_parity_stripe() local
2058 rbio = raid56_parity_alloc_scrub_rbio(bio, bioc, scrub_dev, &extent_bitmap, in scrub_raid56_parity_stripe()
2061 if (!rbio) { in scrub_raid56_parity_stripe()
2070 raid56_parity_cache_data_pages(rbio, stripe->pages, in scrub_raid56_parity_stripe()
2073 raid56_parity_submit_scrub_rbio(rbio); in scrub_raid56_parity_stripe()
/linux/fs/bcachefs/
H A Dio_read.c243 if (*rbio) in __promote_alloc()
311 return rbio->split ? rbio->parent : rbio; in bch2_rbio_parent()
330 BUG_ON(rbio->bounce && !rbio->split); in bch2_rbio_free()
333 promote_free(rbio->c, rbio->promote); in bch2_rbio_free()
337 bch2_bio_free_pages_pool(rbio->c, &rbio->bio); in bch2_rbio_free()
442 rbio = bch2_rbio_free(rbio); in bch2_rbio_retry()
466 rbio = bch2_rbio_free(rbio); in bch2_rbio_error()
622 promote_start(rbio->promote, rbio); in __bch2_read_endio()
627 rbio = bch2_rbio_free(rbio); in __bch2_read_endio()
690 rbio->bio.bi_end_io = rbio->end_io; in bch2_read_endio()
[all …]
H A Dio_read.h120 __bch2_read_extent(trans, rbio, rbio->bio.bi_iter, read_pos, in bch2_read_extent()
132 BUG_ON(rbio->_state); in bch2_read()
134 rbio->c = c; in bch2_read()
135 rbio->start_time = local_clock(); in bch2_read()
136 rbio->subvol = inum.subvol; in bch2_read()
138 __bch2_read(c, rbio, rbio->bio.bi_iter, inum, &failed, in bch2_read()
147 struct bch_read_bio *rbio = to_rbio(bio); in rbio_init() local
149 rbio->_state = 0; in rbio_init()
150 rbio->promote = NULL; in rbio_init()
151 rbio->opts = opts; in rbio_init()
[all …]
H A Dfs-io-buffered.c145 struct bch_read_bio *rbio, in bchfs_read() argument
157 rbio->c = c; in bchfs_read()
158 rbio->start_time = local_clock(); in bchfs_read()
159 rbio->subvol = inum.subvol; in bchfs_read()
231 bio_advance(&rbio->bio, bytes); in bchfs_read()
248 rbio->bio.bi_status = BLK_STS_IOERR; in bchfs_read()
249 bio_endio(&rbio->bio); in bchfs_read()
277 struct bch_read_bio *rbio = in bch2_readahead() local
308 struct bch_read_bio *rbio; in bch2_read_single_folio() local
320 rbio->bio.bi_private = &done; in bch2_read_single_folio()
[all …]
H A Dmove.c100 struct bch_read_bio rbio; member
140 if (unlikely(io->rbio.bio.bi_status || io->rbio.hole)) { in move_write()
158 bch2_data_update_read_done(&io->write, io->rbio.pick.crc); in move_write()
327 io->rbio.c = c; in bch2_move_extent()
328 io->rbio.opts = io_opts; in bch2_move_extent()
330 io->rbio.bio.bi_vcnt = pages; in bch2_move_extent()
332 io->rbio.bio.bi_iter.bi_size = sectors << 9; in bch2_move_extent()
334 io->rbio.bio.bi_opf = REQ_OP_READ; in bch2_move_extent()
335 io->rbio.bio.bi_iter.bi_sector = bkey_start_offset(k.k); in bch2_move_extent()
336 io->rbio.bio.bi_end_io = move_read_endio; in bch2_move_extent()
[all …]
H A Dfs-io-direct.c25 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()
169 bio_check_or_release(&dio->rbio.bio, dio->should_dirty); in bch2_direct_IO_read()
677 4, offsetof(struct dio_read, rbio.bio), in bch2_fs_fs_io_direct_init()
H A Dec.c829 int bch2_ec_read_extent(struct btree_trans *trans, struct bch_read_bio *rbio) in bch2_ec_read_extent() argument
840 BUG_ON(!rbio->pick.has_ec); in bch2_ec_read_extent()
846 ret = lockrestart_do(trans, get_stripe_key_trans(trans, rbio->pick.ec.idx, buf)); in bch2_ec_read_extent()
856 if (!bch2_ptr_matches_stripe(v, rbio->pick)) { in bch2_ec_read_extent()
863 offset = rbio->bio.bi_iter.bi_sector - v->ptrs[rbio->pick.ec.block].offset; in bch2_ec_read_extent()
864 if (offset + bio_sectors(&rbio->bio) > le16_to_cpu(v->sectors)) { in bch2_ec_read_extent()
871 ret = ec_stripe_buf_init(buf, offset, bio_sectors(&rbio->bio)); in bch2_ec_read_extent()
893 memcpy_to_bio(&rbio->bio, rbio->bio.bi_iter, in bch2_ec_read_extent()
894 buf->data[rbio->pick.ec.block] + ((offset - buf->offset) << 9)); in bch2_ec_read_extent()
/linux/drivers/md/
H A Draid1-10.c38 static void rbio_pool_free(void *rbio, void *data) in rbio_pool_free() argument
40 kfree(rbio); in rbio_pool_free()
H A Draid10.c180 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()
1745 struct bio *mbio, *rbio = NULL; in raid10_handle_discard() local
1795 rbio = bio_alloc_clone(bio->bi_bdev, bio, GFP_NOIO, in raid10_handle_discard()
1797 rbio->bi_end_io = raid10_end_discard_request; in raid10_handle_discard()
1798 rbio->bi_private = r10_bio; in raid10_handle_discard()
1799 r10_bio->devs[disk].repl_bio = rbio; in raid10_handle_discard()
1802 md_submit_discard_bio(mddev, rrdev, rbio, in raid10_handle_discard()
[all …]
/linux/include/trace/events/
H A Dbtrfs.h2399 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 …]