Searched refs:prison (Results 1 – 7 of 7) sorted by relevance
/linux-6.6.21/drivers/md/ |
D | dm-bio-prison-v2.c | 39 struct dm_bio_prison_v2 *prison = kzalloc(sizeof(*prison), GFP_KERNEL); in dm_bio_prison_create_v2() local 42 if (!prison) in dm_bio_prison_create_v2() 45 prison->wq = wq; in dm_bio_prison_create_v2() 46 spin_lock_init(&prison->lock); in dm_bio_prison_create_v2() 48 ret = mempool_init_slab_pool(&prison->cell_pool, MIN_CELLS, _cell_cache); in dm_bio_prison_create_v2() 50 kfree(prison); in dm_bio_prison_create_v2() 54 prison->cells = RB_ROOT; in dm_bio_prison_create_v2() 56 return prison; in dm_bio_prison_create_v2() 60 void dm_bio_prison_destroy_v2(struct dm_bio_prison_v2 *prison) in dm_bio_prison_destroy_v2() argument 62 mempool_exit(&prison->cell_pool); in dm_bio_prison_destroy_v2() [all …]
|
D | dm-bio-prison-v1.c | 44 struct dm_bio_prison *prison; in dm_bio_prison_create() local 47 prison = kzalloc(struct_size(prison, regions, num_locks), GFP_KERNEL); in dm_bio_prison_create() 48 if (!prison) in dm_bio_prison_create() 50 prison->num_locks = num_locks; in dm_bio_prison_create() 52 for (i = 0; i < prison->num_locks; i++) { in dm_bio_prison_create() 53 spin_lock_init(&prison->regions[i].lock); in dm_bio_prison_create() 54 prison->regions[i].cell = RB_ROOT; in dm_bio_prison_create() 57 ret = mempool_init_slab_pool(&prison->cell_pool, MIN_CELLS, _cell_cache); in dm_bio_prison_create() 59 kfree(prison); in dm_bio_prison_create() 63 return prison; in dm_bio_prison_create() [all …]
|
D | dm-bio-prison-v1.h | 61 void dm_bio_prison_destroy(struct dm_bio_prison *prison); 70 struct dm_bio_prison_cell *dm_bio_prison_alloc_cell(struct dm_bio_prison *prison, 72 void dm_bio_prison_free_cell(struct dm_bio_prison *prison, 81 int dm_get_cell(struct dm_bio_prison *prison, 97 int dm_bio_detain(struct dm_bio_prison *prison, 103 void dm_cell_release(struct dm_bio_prison *prison, 106 void dm_cell_release_no_holder(struct dm_bio_prison *prison, 109 void dm_cell_error(struct dm_bio_prison *prison, 116 void dm_cell_visit_release(struct dm_bio_prison *prison, 130 int dm_cell_promote_or_release(struct dm_bio_prison *prison,
|
D | dm-bio-prison-v2.h | 58 void dm_bio_prison_destroy_v2(struct dm_bio_prison_v2 *prison); 67 struct dm_bio_prison_cell_v2 *dm_bio_prison_alloc_cell_v2(struct dm_bio_prison_v2 *prison, 69 void dm_bio_prison_free_cell_v2(struct dm_bio_prison_v2 *prison, 88 bool dm_cell_get_v2(struct dm_bio_prison_v2 *prison, 99 bool dm_cell_put_v2(struct dm_bio_prison_v2 *prison, 116 int dm_cell_lock_v2(struct dm_bio_prison_v2 *prison, 122 void dm_cell_quiesce_v2(struct dm_bio_prison_v2 *prison, 134 int dm_cell_lock_promote_v2(struct dm_bio_prison_v2 *prison, 147 bool dm_cell_unlock_v2(struct dm_bio_prison_v2 *prison,
|
D | Makefile | 19 dm-bio-prison-y += dm-bio-prison-v1.o dm-bio-prison-v2.o 58 obj-$(CONFIG_DM_BIO_PRISON) += dm-bio-prison.o
|
D | dm-cache-target.c | 374 struct dm_bio_prison_v2 *prison; member 467 return dm_bio_prison_alloc_cell_v2(cache->prison, GFP_NOIO); in alloc_prison_cell() 472 dm_bio_prison_free_cell_v2(cache->prison, cell); in free_prison_cell() 588 r = dm_cell_get_v2(cache->prison, &key, lock_level(bio), bio, cell_prealloc, &cell); in bio_detain_shared() 1075 dm_cell_quiesce_v2(mg->cache->prison, mg->cell, &mg->k.ws); in quiesce() 1118 if (pb->cell && dm_cell_put_v2(cache->prison, pb->cell)) in bio_drop_shared_lock() 1219 if (dm_cell_unlock_v2(cache->prison, mg->cell, &bios)) in mg_complete() 1327 r = dm_cell_lock_promote_v2(mg->cache->prison, mg->cell, in mg_upgrade_lock() 1408 r = dm_cell_lock_v2(cache->prison, &key, in mg_lock_writes() 1460 if (dm_cell_unlock_v2(cache->prison, mg->cell, &bios)) in invalidate_complete() [all …]
|
D | dm-thin.c | 250 struct dm_bio_prison *prison; member 453 cell_prealloc = dm_bio_prison_alloc_cell(pool->prison, GFP_NOIO); in bio_detain() 455 r = dm_bio_detain(pool->prison, key, bio, cell_prealloc, cell_result); in bio_detain() 461 dm_bio_prison_free_cell(pool->prison, cell_prealloc); in bio_detain() 470 dm_cell_release(pool->prison, cell, bios); in cell_release() 471 dm_bio_prison_free_cell(pool->prison, cell); in cell_release() 479 dm_cell_visit_release(pool->prison, fn, context, cell); in cell_visit_release() 480 dm_bio_prison_free_cell(pool->prison, cell); in cell_visit_release() 487 dm_cell_release_no_holder(pool->prison, cell, bios); in cell_release_no_holder() 488 dm_bio_prison_free_cell(pool->prison, cell); in cell_release_no_holder() [all …]
|