Lines Matching full:cell

23 	struct rb_root cell;  member
54 prison->regions[i].cell = RB_ROOT; in dm_bio_prison_create()
81 struct dm_bio_prison_cell *cell) in dm_bio_prison_free_cell() argument
83 mempool_free(cell, &prison->cell_pool); in dm_bio_prison_free_cell()
89 struct dm_bio_prison_cell *cell) in __setup_new_cell() argument
91 memcpy(&cell->key, key, sizeof(cell->key)); in __setup_new_cell()
92 cell->holder = holder; in __setup_new_cell()
93 bio_list_init(&cell->bios); in __setup_new_cell()
148 struct dm_bio_prison_cell *cell = in __bio_detain() local
151 r = cmp_keys(key, &cell->key); in __bio_detain()
160 bio_list_add(&cell->bios, inmate); in __bio_detain()
161 *cell_result = cell; in __bio_detain()
185 r = __bio_detain(&prison->regions[l].cell, key, inmate, cell_prealloc, cell_result); in bio_detain()
205 struct dm_bio_prison_cell *cell, in __cell_release() argument
208 rb_erase(&cell->node, root); in __cell_release()
211 if (cell->holder) in __cell_release()
212 bio_list_add(inmates, cell->holder); in __cell_release()
213 bio_list_merge(inmates, &cell->bios); in __cell_release()
218 struct dm_bio_prison_cell *cell, in dm_cell_release() argument
221 unsigned l = lock_nr(&cell->key, prison->num_locks); in dm_cell_release()
224 __cell_release(&prison->regions[l].cell, cell, bios); in dm_cell_release()
233 struct dm_bio_prison_cell *cell, in __cell_release_no_holder() argument
236 rb_erase(&cell->node, root); in __cell_release_no_holder()
237 bio_list_merge(inmates, &cell->bios); in __cell_release_no_holder()
241 struct dm_bio_prison_cell *cell, in dm_cell_release_no_holder() argument
244 unsigned l = lock_nr(&cell->key, prison->num_locks); in dm_cell_release_no_holder()
248 __cell_release_no_holder(&prison->regions[l].cell, cell, inmates); in dm_cell_release_no_holder()
254 struct dm_bio_prison_cell *cell, blk_status_t error) in dm_cell_error() argument
260 dm_cell_release(prison, cell, &bios); in dm_cell_error()
272 struct dm_bio_prison_cell *cell) in dm_cell_visit_release() argument
274 unsigned l = lock_nr(&cell->key, prison->num_locks); in dm_cell_visit_release()
276 visit_fn(context, cell); in dm_cell_visit_release()
277 rb_erase(&cell->node, &prison->regions[l].cell); in dm_cell_visit_release()