Home
last modified time | relevance | path

Searched refs:prison (Results 1 – 7 of 7) sorted by relevance

/linux-5.19.10/drivers/md/
Ddm-bio-prison-v2.c38 struct dm_bio_prison_v2 *prison = kzalloc(sizeof(*prison), GFP_KERNEL); in dm_bio_prison_create_v2() local
41 if (!prison) in dm_bio_prison_create_v2()
44 prison->wq = wq; in dm_bio_prison_create_v2()
45 spin_lock_init(&prison->lock); in dm_bio_prison_create_v2()
47 ret = mempool_init_slab_pool(&prison->cell_pool, MIN_CELLS, _cell_cache); in dm_bio_prison_create_v2()
49 kfree(prison); in dm_bio_prison_create_v2()
53 prison->cells = RB_ROOT; in dm_bio_prison_create_v2()
55 return prison; in dm_bio_prison_create_v2()
59 void dm_bio_prison_destroy_v2(struct dm_bio_prison_v2 *prison) in dm_bio_prison_destroy_v2() argument
61 mempool_exit(&prison->cell_pool); in dm_bio_prison_destroy_v2()
[all …]
Ddm-bio-prison-v1.c36 struct dm_bio_prison *prison = kzalloc(sizeof(*prison), GFP_KERNEL); in dm_bio_prison_create() local
39 if (!prison) in dm_bio_prison_create()
42 spin_lock_init(&prison->lock); in dm_bio_prison_create()
44 ret = mempool_init_slab_pool(&prison->cell_pool, MIN_CELLS, _cell_cache); in dm_bio_prison_create()
46 kfree(prison); in dm_bio_prison_create()
50 prison->cells = RB_ROOT; in dm_bio_prison_create()
52 return prison; in dm_bio_prison_create()
56 void dm_bio_prison_destroy(struct dm_bio_prison *prison) in dm_bio_prison_destroy() argument
58 mempool_exit(&prison->cell_pool); in dm_bio_prison_destroy()
59 kfree(prison); in dm_bio_prison_destroy()
[all …]
Ddm-bio-prison-v1.h50 void dm_bio_prison_destroy(struct dm_bio_prison *prison);
59 struct dm_bio_prison_cell *dm_bio_prison_alloc_cell(struct dm_bio_prison *prison,
61 void dm_bio_prison_free_cell(struct dm_bio_prison *prison,
70 int dm_get_cell(struct dm_bio_prison *prison,
81 int dm_bio_detain(struct dm_bio_prison *prison,
87 void dm_cell_release(struct dm_bio_prison *prison,
90 void dm_cell_release_no_holder(struct dm_bio_prison *prison,
93 void dm_cell_error(struct dm_bio_prison *prison,
100 void dm_cell_visit_release(struct dm_bio_prison *prison,
114 int dm_cell_promote_or_release(struct dm_bio_prison *prison,
Ddm-bio-prison-v2.h57 void dm_bio_prison_destroy_v2(struct dm_bio_prison_v2 *prison);
66 struct dm_bio_prison_cell_v2 *dm_bio_prison_alloc_cell_v2(struct dm_bio_prison_v2 *prison,
68 void dm_bio_prison_free_cell_v2(struct dm_bio_prison_v2 *prison,
87 bool dm_cell_get_v2(struct dm_bio_prison_v2 *prison,
98 bool dm_cell_put_v2(struct dm_bio_prison_v2 *prison,
115 int dm_cell_lock_v2(struct dm_bio_prison_v2 *prison,
121 void dm_cell_quiesce_v2(struct dm_bio_prison_v2 *prison,
133 int dm_cell_lock_promote_v2(struct dm_bio_prison_v2 *prison,
146 bool dm_cell_unlock_v2(struct dm_bio_prison_v2 *prison,
DMakefile19 dm-bio-prison-y += dm-bio-prison-v1.o dm-bio-prison-v2.o
58 obj-$(CONFIG_DM_BIO_PRISON) += dm-bio-prison.o
Ddm-cache-target.c373 struct dm_bio_prison_v2 *prison; member
466 return dm_bio_prison_alloc_cell_v2(cache->prison, GFP_NOIO); in alloc_prison_cell()
471 dm_bio_prison_free_cell_v2(cache->prison, cell); in free_prison_cell()
584 r = dm_cell_get_v2(cache->prison, &key, lock_level(bio), bio, cell_prealloc, &cell); in bio_detain_shared()
1063 dm_cell_quiesce_v2(mg->cache->prison, mg->cell, &mg->k.ws); in quiesce()
1105 if (pb->cell && dm_cell_put_v2(cache->prison, pb->cell)) in bio_drop_shared_lock()
1206 if (dm_cell_unlock_v2(cache->prison, mg->cell, &bios)) in mg_complete()
1313 r = dm_cell_lock_promote_v2(mg->cache->prison, mg->cell, in mg_upgrade_lock()
1393 r = dm_cell_lock_v2(cache->prison, &key, in mg_lock_writes()
1443 if (dm_cell_unlock_v2(cache->prison, mg->cell, &bios)) in invalidate_complete()
[all …]
Ddm-thin.c247 struct dm_bio_prison *prison; member
451 cell_prealloc = dm_bio_prison_alloc_cell(pool->prison, GFP_NOIO); in bio_detain()
453 r = dm_bio_detain(pool->prison, key, bio, cell_prealloc, cell_result); in bio_detain()
459 dm_bio_prison_free_cell(pool->prison, cell_prealloc); in bio_detain()
468 dm_cell_release(pool->prison, cell, bios); in cell_release()
469 dm_bio_prison_free_cell(pool->prison, cell); in cell_release()
477 dm_cell_visit_release(pool->prison, fn, context, cell); in cell_visit_release()
478 dm_bio_prison_free_cell(pool->prison, cell); in cell_visit_release()
485 dm_cell_release_no_holder(pool->prison, cell, bios); in cell_release_no_holder()
486 dm_bio_prison_free_cell(pool->prison, cell); in cell_release_no_holder()
[all …]