OpenCloudOS-Kernel/drivers/nvdimm
Dan Williams d9cbe09d39 libnvdimm, pmem: fix 'pfn' support for section-misaligned namespaces
The altmap for a section-misaligned namespace needs to arrange for the
base_pfn to be section-aligned.  As a result the 'reserve' region (pfns
from base that do not have a struct page) must be increased.  Otherwise
we trip the altmap validation check in __add_pages:

	if (altmap->base_pfn != phys_start_pfn
			|| vmem_altmap_offset(altmap) > nr_pages) {
		pr_warn_once("memory add fail, invalid altmap\n");
		return -EINVAL;
	}

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2016-03-05 12:25:44 -08:00
..
Kconfig libnvdimm, pmem: 'struct page' for pmem 2015-08-28 23:40:04 -04:00
Makefile libnvdimm, pfn: 'struct page' provider infrastructure 2015-08-28 23:39:36 -04:00
blk.c block: change ->make_request_fn() and users to return a queue cookie 2015-11-07 10:40:46 -07:00
btt.c block: change ->make_request_fn() and users to return a queue cookie 2015-11-07 10:40:46 -07:00
btt.h libnvdimm, btt: consolidate arena validation 2015-08-14 13:43:04 -04:00
btt_devs.c libnvdimm: btt_devs: Fix locking in namespace_store 2015-09-17 11:37:16 -04:00
bus.c nfit: update address range scrub commands to the acpi 6.1 format 2016-02-23 17:17:20 -08:00
claim.c libnvdimm, pfn: 'struct page' provider infrastructure 2015-08-28 23:39:36 -04:00
core.c libnvdimm: convert to statically allocated badblocks 2016-01-09 08:39:04 -08:00
dimm.c libnvdimm: pmem label sets and namespace instantiation. 2015-06-24 21:24:10 -04:00
dimm_devs.c nvdimm: change to use generic kvfree() 2015-08-27 19:35:48 -04:00
e820.c x86, kexec, nvdimm: Use walk_iomem_res_desc() for iomem search 2016-01-30 09:49:59 +01:00
label.c libnvdimm: infrastructure for btt devices 2015-06-25 04:20:04 -04:00
label.h libnvdimm: write blk label set 2015-06-24 21:24:10 -04:00
namespace_devs.c libnvdimm: fix mode determination for e820 devices 2016-01-26 09:40:32 -08:00
nd-core.h Merge branch 'for-4.5/block-dax' into for-4.5/libnvdimm 2016-01-10 07:53:55 -08:00
nd.h Merge branch 'for-4.5/block-dax' into for-4.5/libnvdimm 2016-01-10 07:53:55 -08:00
pfn.h libnvdimm, pmem: fix 'pfn' support for section-misaligned namespaces 2016-03-05 12:25:44 -08:00
pfn_devs.c libnvdimm, pfn: fix restoring memmap location 2016-01-29 17:43:16 -08:00
pmem.c libnvdimm, pmem: fix 'pfn' support for section-misaligned namespaces 2016-03-05 12:25:44 -08:00
region.c libnvdimm, pfn: 'struct page' provider infrastructure 2015-08-28 23:39:36 -04:00
region_devs.c libnvdimm: fix namespace object confusion in is_uuid_busy() 2016-01-05 18:37:23 -08:00