Lines Matching refs:nd_mapping

494 		struct nd_mapping *nd_mapping, struct nd_namespace_pmem *nspm,  in __pmem_label_update()  argument
498 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in __pmem_label_update()
528 nd_label->dpa = __cpu_to_le64(nd_mapping->start); in __pmem_label_update()
539 victim_label = nd_mapping->labels[0]; in __pmem_label_update()
552 nd_mapping->labels[0] = nd_label; in __pmem_label_update()
557 static void del_label(struct nd_mapping *nd_mapping, int l) in del_label() argument
560 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in del_label()
564 nd_label = nd_mapping->labels[l]; in del_label()
568 for (j = l; (next_label = nd_mapping->labels[j + 1]); j++) in del_label()
569 nd_mapping->labels[j] = next_label; in del_label()
570 nd_mapping->labels[j] = NULL; in del_label()
607 struct nd_mapping *nd_mapping, struct nd_namespace_blk *nsblk, in __blk_label_update() argument
611 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in __blk_label_update()
739 for_each_label(l, nd_label, nd_mapping->labels) { in __blk_label_update()
745 del_label(nd_mapping, l); in __blk_label_update()
767 nd_mapping->labels[l++] = nd_label; in __blk_label_update()
769 nd_mapping->labels[l] = NULL; in __blk_label_update()
789 static int init_labels(struct nd_mapping *nd_mapping, int num_labels) in init_labels() argument
794 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in init_labels()
797 for_each_label(l, nd_label, nd_mapping->labels) in init_labels()
807 labels = krealloc(nd_mapping->labels, size, GFP_KERNEL); in init_labels()
810 nd_mapping->labels = labels; in init_labels()
812 if (!nd_mapping->labels) in init_labels()
816 nd_mapping->labels[i] = NULL; in init_labels()
837 static int del_labels(struct nd_mapping *nd_mapping, u8 *uuid) in del_labels() argument
839 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); in del_labels()
852 || !nd_mapping->labels) in del_labels()
855 for_each_label(l, nd_label, nd_mapping->labels) { in del_labels()
862 del_label(nd_mapping, l); in del_labels()
872 kfree(nd_mapping->labels); in del_labels()
873 nd_mapping->labels = NULL; in del_labels()
887 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; in nd_pmem_namespace_label_update() local
891 rc = del_labels(nd_mapping, nspm->uuid); in nd_pmem_namespace_label_update()
897 rc = init_labels(nd_mapping, 1); in nd_pmem_namespace_label_update()
901 rc = __pmem_label_update(nd_region, nd_mapping, nspm, i); in nd_pmem_namespace_label_update()
912 struct nd_mapping *nd_mapping = &nd_region->mapping[0]; in nd_blk_namespace_label_update() local
917 return del_labels(nd_mapping, nsblk->uuid); in nd_blk_namespace_label_update()
919 for_each_dpa_resource(to_ndd(nd_mapping), res) in nd_blk_namespace_label_update()
922 count = init_labels(nd_mapping, count); in nd_blk_namespace_label_update()
926 return __blk_label_update(nd_region, nd_mapping, nsblk, count); in nd_blk_namespace_label_update()