Lines Matching refs:nd_mapping

764 static void reap_victim(struct nd_mapping *nd_mapping,  in reap_victim()  argument
767 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in reap_victim()
815 struct nd_mapping *nd_mapping, struct nd_namespace_pmem *nspm, in __pmem_label_update() argument
820 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in __pmem_label_update()
877 mutex_lock(&nd_mapping->lock); in __pmem_label_update()
878 list_for_each_entry(label_ent, &nd_mapping->labels, list) { in __pmem_label_update()
884 reap_victim(nd_mapping, label_ent); in __pmem_label_update()
891 list_for_each_entry(label_ent, &nd_mapping->labels, list) in __pmem_label_update()
903 mutex_unlock(&nd_mapping->lock); in __pmem_label_update()
995 struct nd_mapping *nd_mapping, struct nd_namespace_blk *nsblk, in __blk_label_update() argument
1001 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in __blk_label_update()
1081 mutex_lock(&nd_mapping->lock); in __blk_label_update()
1082 list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) in __blk_label_update()
1084 reap_victim(nd_mapping, label_ent); in __blk_label_update()
1087 mutex_unlock(&nd_mapping->lock); in __blk_label_update()
1158 mutex_lock(&nd_mapping->lock); in __blk_label_update()
1159 list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) { in __blk_label_update()
1171 list_splice_tail_init(&list, &nd_mapping->labels); in __blk_label_update()
1172 mutex_unlock(&nd_mapping->lock); in __blk_label_update()
1184 mutex_lock(&nd_mapping->lock); in __blk_label_update()
1185 label_ent = list_first_entry_or_null(&nd_mapping->labels, in __blk_label_update()
1189 mutex_unlock(&nd_mapping->lock); in __blk_label_update()
1201 list_for_each_entry_from(label_ent, &nd_mapping->labels, list) { in __blk_label_update()
1212 mutex_unlock(&nd_mapping->lock); in __blk_label_update()
1232 static int init_labels(struct nd_mapping *nd_mapping, int num_labels) in init_labels() argument
1237 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in init_labels()
1239 mutex_lock(&nd_mapping->lock); in init_labels()
1240 list_for_each_entry(label_ent, &nd_mapping->labels, list) in init_labels()
1242 mutex_unlock(&nd_mapping->lock); in init_labels()
1252 mutex_lock(&nd_mapping->lock); in init_labels()
1253 list_add_tail(&label_ent->list, &nd_mapping->labels); in init_labels()
1254 mutex_unlock(&nd_mapping->lock); in init_labels()
1276 static int del_labels(struct nd_mapping *nd_mapping, u8 *uuid) in del_labels() argument
1278 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in del_labels()
1294 mutex_lock(&nd_mapping->lock); in del_labels()
1295 list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) { in del_labels()
1311 list_splice_tail_init(&list, &nd_mapping->labels); in del_labels()
1314 nd_mapping_free_labels(nd_mapping); in del_labels()
1317 mutex_unlock(&nd_mapping->lock); in del_labels()
1329 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; in nd_pmem_namespace_label_update() local
1330 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in nd_pmem_namespace_label_update()
1335 rc = del_labels(nd_mapping, nspm->uuid); in nd_pmem_namespace_label_update()
1346 rc = init_labels(nd_mapping, count); in nd_pmem_namespace_label_update()
1350 rc = __pmem_label_update(nd_region, nd_mapping, nspm, i, in nd_pmem_namespace_label_update()
1361 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; in nd_pmem_namespace_label_update() local
1363 rc = __pmem_label_update(nd_region, nd_mapping, nspm, i, 0); in nd_pmem_namespace_label_update()
1374 struct nd_mapping *nd_mapping = &nd_region->mapping[0]; in nd_blk_namespace_label_update() local
1379 return del_labels(nd_mapping, nsblk->uuid); in nd_blk_namespace_label_update()
1381 for_each_dpa_resource(to_ndd(nd_mapping), res) in nd_blk_namespace_label_update()
1384 count = init_labels(nd_mapping, count); in nd_blk_namespace_label_update()
1388 return __blk_label_update(nd_region, nd_mapping, nsblk, count); in nd_blk_namespace_label_update()