Lines Matching refs:region
121 sector_t dm_rh_region_to_sector(struct dm_region_hash *rh, region_t region) in dm_rh_region_to_sector() argument
123 return region << rh->region_shift; in dm_rh_region_to_sector()
264 static unsigned rh_hash(struct dm_region_hash *rh, region_t region) in rh_hash() argument
266 return (unsigned) ((region * rh->prime) >> rh->shift) & rh->mask; in rh_hash()
269 static struct dm_region *__rh_lookup(struct dm_region_hash *rh, region_t region) in __rh_lookup() argument
272 struct list_head *bucket = rh->buckets + rh_hash(rh, region); in __rh_lookup()
275 if (reg->key == region) in __rh_lookup()
286 static struct dm_region *__rh_alloc(struct dm_region_hash *rh, region_t region) in __rh_alloc() argument
294 nreg->state = rh->log->type->in_sync(rh->log, region, 1) ? in __rh_alloc()
297 nreg->key = region; in __rh_alloc()
303 reg = __rh_lookup(rh, region); in __rh_alloc()
322 static struct dm_region *__rh_find(struct dm_region_hash *rh, region_t region) in __rh_find() argument
326 reg = __rh_lookup(rh, region); in __rh_find()
329 reg = __rh_alloc(rh, region); in __rh_find()
336 int dm_rh_get_state(struct dm_region_hash *rh, region_t region, int may_block) in dm_rh_get_state() argument
342 reg = __rh_lookup(rh, region); in dm_rh_get_state()
352 r = rh->log->type->in_sync(rh->log, region, may_block); in dm_rh_get_state()
398 region_t region = dm_rh_bio_to_region(rh, bio); in dm_rh_mark_nosync() local
410 log->type->set_region_sync(log, region, 0); in dm_rh_mark_nosync()
413 reg = __rh_find(rh, region); in dm_rh_mark_nosync()
501 static void rh_inc(struct dm_region_hash *rh, region_t region) in rh_inc() argument
506 reg = __rh_find(rh, region); in rh_inc()
536 void dm_rh_dec(struct dm_region_hash *rh, region_t region) in dm_rh_dec() argument
543 reg = __rh_lookup(rh, region); in dm_rh_dec()
588 region_t region; in __rh_recovery_prepare() local
594 r = rh->log->type->get_resync_work(rh->log, ®ion); in __rh_recovery_prepare()
603 reg = __rh_find(rh, region); in __rh_recovery_prepare()