Each namespace has its own memmap, it will be udpated when namespace initializing/creating, updating, and deleting. CC: Dan Williams <dan.j.williams@xxxxxxxxx> CC: Vishal Verma <vishal.l.verma@xxxxxxxxx> CC: Dave Jiang <dave.jiang@xxxxxxxxx> CC: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Li Zhijian <lizhijian@xxxxxxxxxxx> --- drivers/nvdimm/namespace_devs.c | 2 ++ drivers/nvdimm/pfn_devs.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c index c60ec0b373c5..096203e6203f 100644 --- a/drivers/nvdimm/namespace_devs.c +++ b/drivers/nvdimm/namespace_devs.c @@ -8,6 +8,7 @@ #include <linux/slab.h> #include <linux/list.h> #include <linux/nd.h> +#include <linux/crash_core.h> #include "nd-core.h" #include "pmem.h" #include "pfn.h" @@ -853,6 +854,7 @@ static ssize_t size_store(struct device *dev, if (rc == 0 && val == 0 && is_namespace_pmem(dev)) { struct nd_namespace_pmem *nspm = to_nd_namespace_pmem(dev); + devm_memmap_vmcore_delete(to_ndns(dev)); kfree(nspm->uuid); nspm->uuid = NULL; } diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c index af7d9301520c..80076996b2da 100644 --- a/drivers/nvdimm/pfn_devs.c +++ b/drivers/nvdimm/pfn_devs.c @@ -9,6 +9,7 @@ #include <linux/slab.h> #include <linux/fs.h> #include <linux/mm.h> +#include <linux/crash_core.h> #include "nd-core.h" #include "pfn.h" #include "nd.h" @@ -716,6 +717,8 @@ static int __nvdimm_setup_pfn(struct nd_pfn *nd_pfn, struct dev_pagemap *pgmap) } else return -ENXIO; + devm_memmap_vmcore_update(ndns, altmap->base_pfn, PHYS_PFN(offset), + nd_pfn->mode == PFN_MODE_PMEM); return 0; } -- 2.29.2 _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec