engines/devdax: Make detection of device-dax instances more robust
authorDan Williams <dan.j.williams@intel.com>
Tue, 8 Jan 2019 19:34:19 +0000 (11:34 -0800)
committerJens Axboe <axboe@kernel.dk>
Tue, 8 Jan 2019 19:47:37 +0000 (12:47 -0700)
commitb08e7d6b18b4a38f61800e7553cd5e5d282da4a8
tree508a73c7ff513a6f254f02c415a21eeb82d535ae
parentfb191295af1ca14504b64ebe321e126c8019bdc3
engines/devdax: Make detection of device-dax instances more robust

In preparation for the kernel switching device-dax instances from the
"/sys/class/dax" subsystem to "/sys/bus/dax" [1], teach the device-dax
instance detection to be subsystem-type agnostic.

Note that the subsystem switch will require an administrator, or distro
opt-in. The opt-in will either be at kernel compile time by disabling
the default compatibility driver in the kernel, or at runtime with a
modprobe policy to override which kernel module service device-dax
devices. The daxctl utility [2] will ship a command to install the
modprobe policy and include a man page that lists the potential
regression risk to older FIO and other userspace tools that are hard
coded to "/sys/class/dax".

[1]: https://lwn.net/Articles/770128/
[2]: https://github.com/pmem/ndctl/tree/master/daxctl

Reported-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
engines/dev-dax.c