Home
last modified time | relevance | path

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

/linux-4.4.14/drivers/md/
Ddm-bio-prison.c35 struct dm_bio_prison *prison = kmalloc(sizeof(*prison), GFP_KERNEL); in dm_bio_prison_create() local
37 if (!prison) in dm_bio_prison_create()
40 spin_lock_init(&prison->lock); in dm_bio_prison_create()
42 prison->cell_pool = mempool_create_slab_pool(MIN_CELLS, _cell_cache); in dm_bio_prison_create()
43 if (!prison->cell_pool) { in dm_bio_prison_create()
44 kfree(prison); in dm_bio_prison_create()
48 prison->cells = RB_ROOT; in dm_bio_prison_create()
50 return prison; in dm_bio_prison_create()
54 void dm_bio_prison_destroy(struct dm_bio_prison *prison) in dm_bio_prison_destroy() argument
56 mempool_destroy(prison->cell_pool); in dm_bio_prison_destroy()
[all …]
Ddm-bio-prison.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-thin.c239 struct dm_bio_prison *prison; member
419 cell_prealloc = dm_bio_prison_alloc_cell(pool->prison, GFP_NOIO); in bio_detain()
421 r = dm_bio_detain(pool->prison, key, bio, cell_prealloc, cell_result); in bio_detain()
427 dm_bio_prison_free_cell(pool->prison, cell_prealloc); in bio_detain()
436 dm_cell_release(pool->prison, cell, bios); in cell_release()
437 dm_bio_prison_free_cell(pool->prison, cell); in cell_release()
445 dm_cell_visit_release(pool->prison, fn, context, cell); in cell_visit_release()
446 dm_bio_prison_free_cell(pool->prison, cell); in cell_visit_release()
453 dm_cell_release_no_holder(pool->prison, cell, bios); in cell_release_no_holder()
454 dm_bio_prison_free_cell(pool->prison, cell); in cell_release_no_holder()
[all …]
Ddm-cache-target.c306 struct dm_bio_prison *prison; member
398 return dm_bio_prison_alloc_cell(cache->prison, GFP_NOWAIT); in alloc_prison_cell()
403 dm_bio_prison_free_cell(cache->prison, cell); in free_prison_cell()
537 r = dm_bio_detain(cache->prison, &key, bio, cell_prealloc, cell_result); in bio_detain_range()
566 r = dm_get_cell(cache->prison, &key, cell_prealloc, cell_result); in get_cell()
1082 dm_cell_release(cache->prison, cell, &cache->deferred_bios); in __cell_defer()
1092 if (!holder && dm_cell_promote_or_release(cache->prison, cell)) { in cell_defer()
1110 dm_cell_error(cache->prison, cell, err); in cell_error_with_code()
1715 dm_cell_visit_release(cache->prison, inc_fn, &detail, cell); in remap_cell_to_origin_clear_discard()
1749 dm_cell_visit_release(cache->prison, inc_fn, &detail, cell); in remap_cell_to_cache_dirty()
[all …]
DMakefile40 obj-$(CONFIG_DM_BIO_PRISON) += dm-bio-prison.o