Lines Matching refs:nd_mapping
748 static void reap_victim(struct nd_mapping *nd_mapping, in reap_victim() argument
751 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in reap_victim()
760 struct nd_mapping *nd_mapping, struct nd_namespace_pmem *nspm, in __pmem_label_update() argument
765 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in __pmem_label_update()
833 mutex_lock(&nd_mapping->lock); in __pmem_label_update()
834 list_for_each_entry(label_ent, &nd_mapping->labels, list) { in __pmem_label_update()
840 reap_victim(nd_mapping, label_ent); in __pmem_label_update()
847 list_for_each_entry(label_ent, &nd_mapping->labels, list) in __pmem_label_update()
859 mutex_unlock(&nd_mapping->lock); in __pmem_label_update()
898 struct nd_mapping *nd_mapping, struct nd_namespace_blk *nsblk, in __blk_label_update() argument
904 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in __blk_label_update()
984 mutex_lock(&nd_mapping->lock); in __blk_label_update()
985 list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) in __blk_label_update()
987 reap_victim(nd_mapping, label_ent); in __blk_label_update()
990 mutex_unlock(&nd_mapping->lock); in __blk_label_update()
1090 mutex_lock(&nd_mapping->lock); in __blk_label_update()
1091 list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) { in __blk_label_update()
1103 list_splice_tail_init(&list, &nd_mapping->labels); in __blk_label_update()
1104 mutex_unlock(&nd_mapping->lock); in __blk_label_update()
1116 mutex_lock(&nd_mapping->lock); in __blk_label_update()
1117 label_ent = list_first_entry_or_null(&nd_mapping->labels, in __blk_label_update()
1121 mutex_unlock(&nd_mapping->lock); in __blk_label_update()
1133 list_for_each_entry_from(label_ent, &nd_mapping->labels, list) { in __blk_label_update()
1144 mutex_unlock(&nd_mapping->lock); in __blk_label_update()
1164 static int init_labels(struct nd_mapping *nd_mapping, int num_labels) in init_labels() argument
1169 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in init_labels()
1171 mutex_lock(&nd_mapping->lock); in init_labels()
1172 list_for_each_entry(label_ent, &nd_mapping->labels, list) in init_labels()
1174 mutex_unlock(&nd_mapping->lock); in init_labels()
1184 mutex_lock(&nd_mapping->lock); in init_labels()
1185 list_add_tail(&label_ent->list, &nd_mapping->labels); in init_labels()
1186 mutex_unlock(&nd_mapping->lock); in init_labels()
1208 static int del_labels(struct nd_mapping *nd_mapping, u8 *uuid) in del_labels() argument
1210 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in del_labels()
1226 mutex_lock(&nd_mapping->lock); in del_labels()
1227 list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) { in del_labels()
1243 list_splice_tail_init(&list, &nd_mapping->labels); in del_labels()
1246 nd_mapping_free_labels(nd_mapping); in del_labels()
1249 mutex_unlock(&nd_mapping->lock); in del_labels()
1261 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; in nd_pmem_namespace_label_update() local
1262 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in nd_pmem_namespace_label_update()
1267 rc = del_labels(nd_mapping, nspm->uuid); in nd_pmem_namespace_label_update()
1278 rc = init_labels(nd_mapping, count); in nd_pmem_namespace_label_update()
1282 rc = __pmem_label_update(nd_region, nd_mapping, nspm, i, in nd_pmem_namespace_label_update()
1293 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; in nd_pmem_namespace_label_update() local
1295 rc = __pmem_label_update(nd_region, nd_mapping, nspm, i, 0); in nd_pmem_namespace_label_update()
1306 struct nd_mapping *nd_mapping = &nd_region->mapping[0]; in nd_blk_namespace_label_update() local
1311 return del_labels(nd_mapping, nsblk->uuid); in nd_blk_namespace_label_update()
1313 for_each_dpa_resource(to_ndd(nd_mapping), res) in nd_blk_namespace_label_update()
1316 count = init_labels(nd_mapping, count); in nd_blk_namespace_label_update()
1320 return __blk_label_update(nd_region, nd_mapping, nsblk, count); in nd_blk_namespace_label_update()