/kernel/linux/linux-5.10/drivers/md/ |
H A D | dm-switch.c | 126 static void switch_get_position(struct switch_ctx *sctx, unsigned long region_nr, in switch_get_position() argument 130 *region_index = region_nr >> sctx->region_entries_per_slot_bits; in switch_get_position() 131 *bit = region_nr & (sctx->region_entries_per_slot - 1); in switch_get_position() 133 *region_index = region_nr / sctx->region_entries_per_slot; in switch_get_position() 134 *bit = region_nr % sctx->region_entries_per_slot; in switch_get_position() 140 static unsigned switch_region_table_read(struct switch_ctx *sctx, unsigned long region_nr) in switch_region_table_read() argument 145 switch_get_position(sctx, region_nr, ®ion_index, &bit); in switch_region_table_read() 174 static void switch_region_table_write(struct switch_ctx *sctx, unsigned long region_nr, in switch_region_table_write() argument 181 switch_get_position(sctx, region_nr, ®ion_index, &bit); in switch_region_table_write() 195 unsigned long region_nr; in initialise_region_table() local [all...] |
H A D | dm-clone-metadata.c | 641 bool dm_clone_is_region_hydrated(struct dm_clone_metadata *cmd, unsigned long region_nr) in dm_clone_is_region_hydrated() argument 643 return dm_clone_is_hydration_done(cmd) || test_bit(region_nr, cmd->region_map); in dm_clone_is_region_hydrated() 847 int dm_clone_set_region_hydrated(struct dm_clone_metadata *cmd, unsigned long region_nr) in dm_clone_set_region_hydrated() argument 853 if (unlikely(region_nr >= cmd->nr_regions)) { in dm_clone_set_region_hydrated() 855 region_nr, cmd->nr_regions); in dm_clone_set_region_hydrated() 859 word = region_nr / BITS_PER_LONG; in dm_clone_set_region_hydrated() 871 __set_bit(region_nr, dmap->dirty_regions); in dm_clone_set_region_hydrated() 872 __set_bit(region_nr, cmd->region_map); in dm_clone_set_region_hydrated() 886 unsigned long word, region_nr; in dm_clone_cond_set_range() local 903 for (region_nr in dm_clone_cond_set_range() [all...] |
H A D | dm-clone-target.c | 282 static inline sector_t region_to_sector(struct clone *clone, unsigned long region_nr) in region_to_sector() argument 284 return ((sector_t)region_nr << clone->region_shift); in region_to_sector() 537 unsigned long region_nr; member 609 unsigned long region_nr) in get_hash_table_bucket() 611 return &clone->ht[hash_long(region_nr, HASH_TABLE_BITS)]; in get_hash_table_bucket() 615 * Search hash table for a hydration with hd->region_nr == region_nr 620 unsigned long region_nr) in __hash_find() 625 if (hd->region_nr == region_nr) in __hash_find() 608 get_hash_table_bucket(struct clone *clone, unsigned long region_nr) get_hash_table_bucket() argument 619 __hash_find(struct hash_table_bucket *bucket, unsigned long region_nr) __hash_find() argument 688 hydration_init(struct dm_clone_region_hydration *hd, unsigned long region_nr) hydration_init() argument 882 unsigned long region_nr; hydrate_bio_region() local 1331 unsigned long region_nr; clone_map() local [all...] |
H A D | dm-clone-metadata.h | 33 * @region_nr: The region number 37 int dm_clone_set_region_hydrated(struct dm_clone_metadata *cmd, unsigned long region_nr); 146 * Returns true if region @region_nr is hydrated. 148 bool dm_clone_is_region_hydrated(struct dm_clone_metadata *cmd, unsigned long region_nr); 162 * Returns the first unhydrated region with region_nr >= @start
|
/kernel/linux/linux-6.6/drivers/md/ |
H A D | dm-switch.c | 127 static void switch_get_position(struct switch_ctx *sctx, unsigned long region_nr, in switch_get_position() argument 131 *region_index = region_nr >> sctx->region_entries_per_slot_bits; in switch_get_position() 132 *bit = region_nr & (sctx->region_entries_per_slot - 1); in switch_get_position() 134 *region_index = region_nr / sctx->region_entries_per_slot; in switch_get_position() 135 *bit = region_nr % sctx->region_entries_per_slot; in switch_get_position() 141 static unsigned int switch_region_table_read(struct switch_ctx *sctx, unsigned long region_nr) in switch_region_table_read() argument 146 switch_get_position(sctx, region_nr, ®ion_index, &bit); in switch_region_table_read() 175 static void switch_region_table_write(struct switch_ctx *sctx, unsigned long region_nr, in switch_region_table_write() argument 182 switch_get_position(sctx, region_nr, ®ion_index, &bit); in switch_region_table_write() 196 unsigned long region_nr; in initialise_region_table() local [all...] |
H A D | dm-clone-metadata.c | 635 bool dm_clone_is_region_hydrated(struct dm_clone_metadata *cmd, unsigned long region_nr) in dm_clone_is_region_hydrated() argument 637 return dm_clone_is_hydration_done(cmd) || test_bit(region_nr, cmd->region_map); in dm_clone_is_region_hydrated() 841 int dm_clone_set_region_hydrated(struct dm_clone_metadata *cmd, unsigned long region_nr) in dm_clone_set_region_hydrated() argument 847 if (unlikely(region_nr >= cmd->nr_regions)) { in dm_clone_set_region_hydrated() 849 region_nr, cmd->nr_regions); in dm_clone_set_region_hydrated() 853 word = region_nr / BITS_PER_LONG; in dm_clone_set_region_hydrated() 865 __set_bit(region_nr, dmap->dirty_regions); in dm_clone_set_region_hydrated() 866 __set_bit(region_nr, cmd->region_map); in dm_clone_set_region_hydrated() 880 unsigned long word, region_nr; in dm_clone_cond_set_range() local 897 for (region_nr in dm_clone_cond_set_range() [all...] |
H A D | dm-clone-target.c | 276 static inline sector_t region_to_sector(struct clone *clone, unsigned long region_nr) in region_to_sector() argument 278 return ((sector_t)region_nr << clone->region_shift); in region_to_sector() 531 unsigned long region_nr; member 603 unsigned long region_nr) in get_hash_table_bucket() 605 return &clone->ht[hash_long(region_nr, HASH_TABLE_BITS)]; in get_hash_table_bucket() 609 * Search hash table for a hydration with hd->region_nr == region_nr 614 unsigned long region_nr) in __hash_find() 619 if (hd->region_nr == region_nr) in __hash_find() 602 get_hash_table_bucket(struct clone *clone, unsigned long region_nr) get_hash_table_bucket() argument 613 __hash_find(struct hash_table_bucket *bucket, unsigned long region_nr) __hash_find() argument 682 hydration_init(struct dm_clone_region_hydration *hd, unsigned long region_nr) hydration_init() argument 876 unsigned long region_nr; hydrate_bio_region() local 1321 unsigned long region_nr; clone_map() local [all...] |
H A D | dm-clone-metadata.h | 33 * @region_nr: The region number 37 int dm_clone_set_region_hydrated(struct dm_clone_metadata *cmd, unsigned long region_nr); 146 * Returns true if region @region_nr is hydrated. 148 bool dm_clone_is_region_hydrated(struct dm_clone_metadata *cmd, unsigned long region_nr); 162 * Returns the first unhydrated region with region_nr >= @start
|