This series adds libdaxctl support and fetchs the alignment of device dax through libdaxctl [1] APIs.
QEMU uses mmap(2) to maps vNVDIMM backends and aligns the mapping address to the page size (getpagesize(2)) by default. However, some types of backends may require an alignment different than the page size. The 'align' option is provided to memory-backend-file to allow users to specify the proper alignment. For device dax (e.g., /dev/dax0.0), the 'align' option needs to match the alignment requirement of the device dax, which can be fetched through the APIs of libdaxctl version 57 or up. [1] Libdaxctl is a part of ndctl project. The project's repository is: https://github.com/pmem/ndctl Changelog: v3: - Per Joao's suggestion, require libdaxctl version 57 or up. - Per Joao's suggestion, suggest to query the @align with daxctl tool in docs/nvdimm.txt. v2: - Per Paolo and Dan's suggestions, fetch the alignment of device dax through libdaxctl APIs. v1: - The initial version. Fetch the alignment through "/sys/dev/char/%d:%d/device/align". Jingqi Liu (3): exec: fetch the alignment of Linux devdax pmem character device nodes docs/nvdimm: add description of alignment requirement of device dax configure: add libdaxctl support configure | 29 ++++++++++++++++++++++++++ docs/nvdimm.txt | 10 +++++++++ exec.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 92 insertions(+), 1 deletion(-) -- 2.17.1