diff options
author | Dan Williams <dan.j.williams@intel.com> | 2017-12-04 23:07:43 +0100 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2017-12-20 00:37:34 +0100 |
commit | 41fce90f26333c4fa82e8e43b9ace86c4e8a0120 (patch) | |
tree | 3d7083541ddb4e75d8224d4616177895dc9f2c9f /lib/test_rhashtable.c | |
parent | libnvdimm, pfn: fix start_pad handling for aligned namespaces (diff) | |
download | linux-41fce90f26333c4fa82e8e43b9ace86c4e8a0120.tar.xz linux-41fce90f26333c4fa82e8e43b9ace86c4e8a0120.zip |
libnvdimm, dax: fix 1GB-aligned namespaces vs physical misalignment
The following namespace configuration attempt:
# ndctl create-namespace -e namespace0.0 -m devdax -a 1G -f
libndctl: ndctl_dax_enable: dax0.1: failed to enable
Error: namespace0.0: failed to enable
failed to reconfigure namespace: No such device or address
...fails when the backing memory range is not physically aligned to 1G:
# cat /proc/iomem | grep Persistent
210000000-30fffffff : Persistent Memory (legacy)
In the above example the 4G persistent memory range starts and ends on a
256MB boundary.
We handle this case correctly when needing to handle cases that violate
section alignment (128MB) collisions against "System RAM", and we simply
need to extend that padding/truncation for the 1GB alignment use case.
Cc: <stable@vger.kernel.org>
Fixes: 315c562536c4 ("libnvdimm, pfn: add 'align' attribute...")
Reported-and-tested-by: Jane Chu <jane.chu@oracle.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'lib/test_rhashtable.c')
0 files changed, 0 insertions, 0 deletions