Lines Matching refs:nd_mapping
812 static void reap_victim(struct nd_mapping *nd_mapping, in reap_victim() argument
815 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in reap_victim()
878 struct nd_mapping *nd_mapping, struct nd_namespace_pmem *nspm, in __pmem_label_update() argument
883 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in __pmem_label_update()
941 mutex_lock(&nd_mapping->lock); in __pmem_label_update()
942 list_for_each_entry(label_ent, &nd_mapping->labels, list) { in __pmem_label_update()
947 reap_victim(nd_mapping, label_ent); in __pmem_label_update()
954 list_for_each_entry(label_ent, &nd_mapping->labels, list) in __pmem_label_update()
966 mutex_unlock(&nd_mapping->lock); in __pmem_label_update()
1058 struct nd_mapping *nd_mapping, struct nd_namespace_blk *nsblk, in __blk_label_update() argument
1064 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in __blk_label_update()
1142 mutex_lock(&nd_mapping->lock); in __blk_label_update()
1143 list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) in __blk_label_update()
1145 reap_victim(nd_mapping, label_ent); in __blk_label_update()
1148 mutex_unlock(&nd_mapping->lock); in __blk_label_update()
1219 mutex_lock(&nd_mapping->lock); in __blk_label_update()
1220 list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) { in __blk_label_update()
1231 list_splice_tail_init(&list, &nd_mapping->labels); in __blk_label_update()
1232 mutex_unlock(&nd_mapping->lock); in __blk_label_update()
1244 mutex_lock(&nd_mapping->lock); in __blk_label_update()
1245 label_ent = list_first_entry_or_null(&nd_mapping->labels, in __blk_label_update()
1249 mutex_unlock(&nd_mapping->lock); in __blk_label_update()
1260 list_for_each_entry_from(label_ent, &nd_mapping->labels, list) { in __blk_label_update()
1271 mutex_unlock(&nd_mapping->lock); in __blk_label_update()
1291 static int init_labels(struct nd_mapping *nd_mapping, int num_labels) in init_labels() argument
1296 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in init_labels()
1298 mutex_lock(&nd_mapping->lock); in init_labels()
1299 list_for_each_entry(label_ent, &nd_mapping->labels, list) in init_labels()
1301 mutex_unlock(&nd_mapping->lock); in init_labels()
1311 mutex_lock(&nd_mapping->lock); in init_labels()
1312 list_add_tail(&label_ent->list, &nd_mapping->labels); in init_labels()
1313 mutex_unlock(&nd_mapping->lock); in init_labels()
1335 static int del_labels(struct nd_mapping *nd_mapping, uuid_t *uuid) in del_labels() argument
1337 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in del_labels()
1352 mutex_lock(&nd_mapping->lock); in del_labels()
1353 list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) { in del_labels()
1368 list_splice_tail_init(&list, &nd_mapping->labels); in del_labels()
1371 nd_mapping_free_labels(nd_mapping); in del_labels()
1374 mutex_unlock(&nd_mapping->lock); in del_labels()
1386 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; in nd_pmem_namespace_label_update() local
1387 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in nd_pmem_namespace_label_update()
1392 rc = del_labels(nd_mapping, nspm->uuid); in nd_pmem_namespace_label_update()
1403 rc = init_labels(nd_mapping, count); in nd_pmem_namespace_label_update()
1407 rc = __pmem_label_update(nd_region, nd_mapping, nspm, i, in nd_pmem_namespace_label_update()
1418 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; in nd_pmem_namespace_label_update() local
1420 rc = __pmem_label_update(nd_region, nd_mapping, nspm, i, 0); in nd_pmem_namespace_label_update()
1431 struct nd_mapping *nd_mapping = &nd_region->mapping[0]; in nd_blk_namespace_label_update() local
1436 return del_labels(nd_mapping, nsblk->uuid); in nd_blk_namespace_label_update()
1438 for_each_dpa_resource(to_ndd(nd_mapping), res) in nd_blk_namespace_label_update()
1441 count = init_labels(nd_mapping, count); in nd_blk_namespace_label_update()
1445 return __blk_label_update(nd_region, nd_mapping, nsblk, count); in nd_blk_namespace_label_update()