/kernel/linux/linux-5.10/drivers/md/ |
H A D | dm-ebs-target.c | 15 #include <linux/dm-bufio.h> 24 struct dm_bufio_client *bufio; /* Use dm-bufio for read and read-modify-write processing. */ member 32 unsigned char block_shift; /* bitshift sectors -> blocks used in dm-bufio API. */ 62 * copy blocks between bufio blocks and bio vector's (partial/overlapping) pages. 81 cur_len = min(dm_bufio_get_block_size(ec->bufio) - buf_off, bv_len); in __ebs_rw_bvec() 84 if (rw == READ || buf_off || bv_len < dm_bufio_get_block_size(ec->bufio)) in __ebs_rw_bvec() 85 ba = dm_bufio_read(ec->bufio, block, &b); in __ebs_rw_bvec() 87 ba = dm_bufio_new(ec->bufio, block, &b); in __ebs_rw_bvec() 119 /* READ/WRITE: iterate bio vector's copying between (partial) pages and bufio block [all...] |
H A D | dm-verity-fec.c | 72 res = dm_bufio_read(v->fec->bufio, block, buf); in fec_read_parity() 207 struct dm_bufio_client *bufio; in fec_read_bufs() local 235 bufio = v->fec->data_bufio; in fec_read_bufs() 248 bufio = v->bufio; in fec_read_bufs() 251 bbuf = dm_bufio_read(bufio, block, &buf); in fec_read_bufs() 266 if (bufio == v->fec->data_bufio && in fec_read_bufs() 559 if (f->bufio) in verity_fec_dtr() 560 dm_bufio_client_destroy(f->bufio); in verity_fec_dtr() 740 if (dm_bufio_get_device_size(v->bufio) < in verity_fec_ctr() [all...] |
H A D | dm-verity.h | 14 #include <linux/dm-bufio.h> 38 struct dm_bufio_client *bufio; member
|
H A D | dm-verity-target.c | 52 * Auxiliary structure appended to each dm-bufio buffer. If the value 288 data = dm_bufio_read(v->bufio, hash_block, &buf); in verity_verify_level() 630 dm_bufio_prefetch(v->bufio, hash_block_start, in verity_prefetch_io() 829 if (v->bufio) in verity_dtr() 830 dm_bufio_client_destroy(v->bufio); in verity_dtr() 1226 v->bufio = dm_bufio_client_create(v->hash_dev->bdev, in verity_ctr() 1229 if (IS_ERR(v->bufio)) { in verity_ctr() 1230 ti->error = "Cannot initialize dm-bufio"; in verity_ctr() 1231 r = PTR_ERR(v->bufio); in verity_ctr() 1232 v->bufio in verity_ctr() [all...] |
H A D | dm-verity-fec.h | 38 struct dm_bufio_client *bufio; /* for parity data access */ member
|
H A D | dm-integrity.c | 24 #include <linux/dm-bufio.h> 162 struct dm_bufio_client *bufio; member 1329 data = dm_bufio_read(ic->bufio, *metadata_block, &b); in dm_integrity_rw_tag() 1422 fr.io_req.client = dm_bufio_get_dm_io_client(ic->bufio), in dm_integrity_flush_buffers() 1432 r = dm_bufio_write_dirty_buffers(ic->bufio); in dm_integrity_flush_buffers() 2460 dm_bufio_write_dirty_buffers_async(ic->bufio); in do_journal_write() 4283 ic->bufio = dm_bufio_client_create(ic->meta_dev ? ic->meta_dev->bdev : ic->dev->bdev, in dm_integrity_ctr() 4285 if (IS_ERR(ic->bufio)) { in dm_integrity_ctr() 4286 r = PTR_ERR(ic->bufio); in dm_integrity_ctr() 4287 ti->error = "Cannot initialize dm-bufio"; in dm_integrity_ctr() [all...] |
H A D | dm-snap-persistent.c | 17 #include <linux/dm-bufio.h>
|
H A D | dm-bufio.c | 9 #include <linux/dm-bufio.h> 22 #define DM_MSG_PREFIX "bufio" 869 * dm-bufio is resistant to allocation failures (it just keeps in __alloc_buffer_wait_no_callback() 1445 * All this must be done in bufio lock, so that block number in dm_bufio_release_move() 1619 * rerouted to different bufio client.
|
/kernel/linux/linux-6.6/drivers/md/ |
H A D | dm-ebs-target.c | 16 #include <linux/dm-bufio.h> 25 struct dm_bufio_client *bufio; /* Use dm-bufio for read and read-modify-write processing. */ member 33 unsigned char block_shift; /* bitshift sectors -> blocks used in dm-bufio API. */ 63 * copy blocks between bufio blocks and bio vector's (partial/overlapping) pages. 83 cur_len = min(dm_bufio_get_block_size(ec->bufio) - buf_off, bv_len); in __ebs_rw_bvec() 86 if (op == REQ_OP_READ || buf_off || bv_len < dm_bufio_get_block_size(ec->bufio)) in __ebs_rw_bvec() 87 ba = dm_bufio_read(ec->bufio, block, &b); in __ebs_rw_bvec() 89 ba = dm_bufio_new(ec->bufio, block, &b); in __ebs_rw_bvec() 121 /* READ/WRITE: iterate bio vector's copying between (partial) pages and bufio block [all...] |
H A D | dm-verity-fec.c | 72 res = dm_bufio_read(v->fec->bufio, block, buf); in fec_read_parity() 207 struct dm_bufio_client *bufio; in fec_read_bufs() local 235 bufio = v->fec->data_bufio; in fec_read_bufs() 248 bufio = v->bufio; in fec_read_bufs() 251 bbuf = dm_bufio_read(bufio, block, &buf); in fec_read_bufs() 266 if (bufio == v->fec->data_bufio && in fec_read_bufs() 559 if (f->bufio) in verity_fec_dtr() 560 dm_bufio_client_destroy(f->bufio); in verity_fec_dtr() 740 if (dm_bufio_get_device_size(v->bufio) < in verity_fec_ctr() [all...] |
H A D | dm-verity.h | 15 #include <linux/dm-bufio.h> 40 struct dm_bufio_client *bufio; member
|
H A D | dm-verity-target.c | 59 * Auxiliary structure appended to each dm-bufio buffer. If the value 301 data = dm_bufio_get(v->bufio, hash_block, &buf); in verity_verify_level() 304 * In tasklet and the hash was not in the bufio cache. in verity_verify_level() 311 data = dm_bufio_read(v->bufio, hash_block, &buf); in verity_verify_level() 755 dm_bufio_prefetch(v->bufio, hash_block_start, in verity_prefetch_io() 1004 if (v->bufio) in verity_dtr() 1005 dm_bufio_client_destroy(v->bufio); in verity_dtr() 1456 v->bufio = dm_bufio_client_create(v->hash_dev->bdev, in verity_ctr() 1460 if (IS_ERR(v->bufio)) { in verity_ctr() 1461 ti->error = "Cannot initialize dm-bufio"; in verity_ctr() [all...] |
H A D | dm-verity-fec.h | 38 struct dm_bufio_client *bufio; /* for parity data access */ member
|
H A D | dm-integrity.c | 25 #include <linux/dm-bufio.h> 172 struct dm_bufio_client *bufio; member 1433 data = dm_bufio_read(ic->bufio, *metadata_block, &b); in dm_integrity_rw_tag() 1526 fr.io_req.client = dm_bufio_get_dm_io_client(ic->bufio), in dm_integrity_flush_buffers() 1536 r = dm_bufio_write_dirty_buffers(ic->bufio); in dm_integrity_flush_buffers() 2666 dm_bufio_write_dirty_buffers_async(ic->bufio); in do_journal_write() 4572 ic->bufio = dm_bufio_client_create(ic->meta_dev ? ic->meta_dev->bdev : ic->dev->bdev, in dm_integrity_ctr() 4574 if (IS_ERR(ic->bufio)) { in dm_integrity_ctr() 4575 r = PTR_ERR(ic->bufio); in dm_integrity_ctr() 4576 ti->error = "Cannot initialize dm-bufio"; in dm_integrity_ctr() [all...] |
H A D | dm-snap-persistent.c | 18 #include <linux/dm-bufio.h>
|
H A D | dm-bufio.c | 10 #include <linux/dm-bufio.h> 26 #define DM_MSG_PREFIX "bufio" 1600 * dm-bufio is resistant to allocation failures (it just keeps in __alloc_buffer_wait_no_callback() 1676 * We hold the bufio lock here, so no one can add entries to the in __free_buffer_wake() 2534 r = register_shrinker(&c->shrinker, "dm-bufio:(%u:%u)", in dm_bufio_client_create() 2663 * rerouted to different bufio client.
|
/kernel/linux/linux-6.6/drivers/md/persistent-data/ |
H A D | dm-block-manager.c | 10 #include <linux/dm-bufio.h> 324 * Block manager is currently implemented using dm-bufio. struct 326 * structs in the bufio interface. I want to retain the freedom to move 327 * away from bufio in the future. So these structs are just cast within 380 struct dm_bufio_client *bufio; member 397 bm->bufio = dm_bufio_client_create(bdev, block_size, max_held_per_thread, in dm_block_manager_create() 402 if (IS_ERR(bm->bufio)) { in dm_block_manager_create() 403 r = PTR_ERR(bm->bufio); in dm_block_manager_create() 419 dm_bufio_client_destroy(bm->bufio); in dm_block_manager_destroy() 426 dm_bufio_client_reset(bm->bufio); in dm_block_manager_reset() [all...] |
/kernel/linux/linux-5.10/drivers/md/persistent-data/ |
H A D | dm-block-manager.c | 9 #include <linux/dm-bufio.h> 322 * Block manager is currently implemented using dm-bufio. struct 324 * structs in the bufio interface. I want to retain the freedom to move 325 * away from bufio in the future. So these structs are just cast within 374 struct dm_bufio_client *bufio; member 391 bm->bufio = dm_bufio_client_create(bdev, block_size, max_held_per_thread, in dm_block_manager_create() 395 if (IS_ERR(bm->bufio)) { in dm_block_manager_create() 396 r = PTR_ERR(bm->bufio); in dm_block_manager_create() 412 dm_bufio_client_destroy(bm->bufio); in dm_block_manager_destroy() 419 return dm_bufio_get_block_size(bm->bufio); in dm_bm_block_size() [all...] |