Lines Matching refs:dmap

115 	struct dirty_map dmap[2];  member
466 cmd->dmap[0].changed = 0; in dirty_map_init()
467 cmd->dmap[0].dirty_words = kvzalloc(bitmap_size(cmd->nr_words), GFP_KERNEL); in dirty_map_init()
469 if (!cmd->dmap[0].dirty_words) { in dirty_map_init()
474 cmd->dmap[1].changed = 0; in dirty_map_init()
475 cmd->dmap[1].dirty_words = kvzalloc(bitmap_size(cmd->nr_words), GFP_KERNEL); in dirty_map_init()
477 if (!cmd->dmap[1].dirty_words) { in dirty_map_init()
479 kvfree(cmd->dmap[0].dirty_words); in dirty_map_init()
483 cmd->current_dmap = &cmd->dmap[0]; in dirty_map_init()
490 kvfree(cmd->dmap[0].dirty_words); in dirty_map_exit()
491 kvfree(cmd->dmap[1].dirty_words); in dirty_map_exit()
712 static int __flush_dmap(struct dm_clone_metadata *cmd, struct dirty_map *dmap) in __flush_dmap() argument
719 word = find_next_bit(dmap->dirty_words, cmd->nr_words, word); in __flush_dmap()
729 __clear_bit(word, dmap->dirty_words); in __flush_dmap()
740 dmap->changed = 0; in __flush_dmap()
750 struct dirty_map *dmap, *next_dmap; in dm_clone_metadata_commit() local
758 dmap = cmd->current_dmap; in dm_clone_metadata_commit()
761 next_dmap = (dmap == &cmd->dmap[0]) ? &cmd->dmap[1] : &cmd->dmap[0]; in dm_clone_metadata_commit()
781 r = __flush_dmap(cmd, dmap); in dm_clone_metadata_commit()
791 struct dirty_map *dmap; in dm_clone_set_region_hydrated() local
803 dmap = cmd->current_dmap; in dm_clone_set_region_hydrated()
805 __set_bit(word, dmap->dirty_words); in dm_clone_set_region_hydrated()
807 dmap->changed = 1; in dm_clone_set_region_hydrated()
819 struct dirty_map *dmap; in dm_clone_cond_set_range() local
829 dmap = cmd->current_dmap; in dm_clone_cond_set_range()
833 __set_bit(word, dmap->dirty_words); in dm_clone_cond_set_range()
835 dmap->changed = 1; in dm_clone_cond_set_range()
876 r = cmd->dmap[0].changed || cmd->dmap[1].changed; in dm_clone_changed_this_transaction()