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()
266 static unsigned rh_hash(struct dm_region_hash *rh, region_t region) in rh_hash() argument
268 return (unsigned) ((region * rh->prime) >> rh->shift) & rh->mask; in rh_hash()
271 static struct dm_region *__rh_lookup(struct dm_region_hash *rh, region_t region) in __rh_lookup() argument
274 struct list_head *bucket = rh->buckets + rh_hash(rh, region); in __rh_lookup()
277 if (reg->key == region) in __rh_lookup()
288 static struct dm_region *__rh_alloc(struct dm_region_hash *rh, region_t region) in __rh_alloc() argument
296 nreg->state = rh->log->type->in_sync(rh->log, region, 1) ? in __rh_alloc()
299 nreg->key = region; in __rh_alloc()
305 reg = __rh_lookup(rh, region); in __rh_alloc()
324 static struct dm_region *__rh_find(struct dm_region_hash *rh, region_t region) in __rh_find() argument
328 reg = __rh_lookup(rh, region); in __rh_find()
331 reg = __rh_alloc(rh, region); in __rh_find()
338 int dm_rh_get_state(struct dm_region_hash *rh, region_t region, int may_block) in dm_rh_get_state() argument
344 reg = __rh_lookup(rh, region); in dm_rh_get_state()
354 r = rh->log->type->in_sync(rh->log, region, may_block); in dm_rh_get_state()
400 region_t region = dm_rh_bio_to_region(rh, bio); in dm_rh_mark_nosync() local
412 log->type->set_region_sync(log, region, 0); in dm_rh_mark_nosync()
415 reg = __rh_find(rh, region); in dm_rh_mark_nosync()
503 static void rh_inc(struct dm_region_hash *rh, region_t region) in rh_inc() argument
508 reg = __rh_find(rh, region); in rh_inc()
538 void dm_rh_dec(struct dm_region_hash *rh, region_t region) in dm_rh_dec() argument
545 reg = __rh_lookup(rh, region); in dm_rh_dec()
590 region_t region; in __rh_recovery_prepare() local
596 r = rh->log->type->get_resync_work(rh->log, ®ion); in __rh_recovery_prepare()
605 reg = __rh_find(rh, region); in __rh_recovery_prepare()