Changes since v1 [1]:
* Make the opt-in based on an explicit command rather than an implicit
side-effect of installing a new daxctl.
* Split the daxctl support from the patch implementing the opt-in
* Rebase on command harness reworks and other ndctl cleanups
[1]: https://lists.01.org/pipermail/linux-nvdimm/2018-November/018677.html
---
Quote patch2:
The kernel is implementing a '/sys/bus/dax' ABI to allow for alternate
device-DAX drivers to be bound to device instances. While the kernel
conversion to '/sys/bus/dax' does not effect the primary ndctl use case
of putting namespaces into 'devdax' mode since that uses libnvdimm
namespace device relative paths, it does break current implementations
of 'ndctl list -X' and 'daxctl list'. It is also known to break fio and
some pmdk versions that explicitly reference "/sys/class/dax".
In order to avoid userspace regressions the kernel can be configured to
maintain '/sys/class/dax' as the default ABI. However, once all
'/sys/class/dax' users have been converted, or removed from the
installation, an administrator can opt-in to the new '/sys/bus/dax' ABI.
The 'dax migrate-device-model' command installs a modprobe rule to
blacklist the dax_pmem_compat module and arrange for the dax_pmem module
to auto-load in response to the detection of device-DAX instances
emitted from the libnvdimm subsystem.
---
Dan Williams (2):
daxctl: Support the /sys/bus/dax ABI
daxctl: Opt-in to /sys/bus/dax ABI
.gitignore | 1
Documentation/daxctl/Makefile.am | 3 +
.../daxctl/daxctl-migrate-device-model.txt | 47 +++++++++++++
configure.ac | 5 +
daxctl/Makefile.am | 10 +++
daxctl/builtin.h | 1
daxctl/daxctl.c | 1
daxctl/lib/Makefile.am | 2 +
daxctl/lib/daxctl.conf | 2 +
daxctl/lib/libdaxctl-private.h | 11 +++
daxctl/lib/libdaxctl.c | 70 ++++++++++++++------
daxctl/migrate.c | 41 ++++++++++++
ndctl.spec.in | 1
util/sysfs.c | 2 -
14 files changed, 175 insertions(+), 22 deletions(-)
create mode 100644 Documentation/daxctl/daxctl-migrate-device-model.txt
create mode 100644 daxctl/lib/daxctl.conf
create mode 100644 daxctl/migrate.c
_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm