A test report highlighted the fact that the unit tests never verified
that multiple-namespaces in a region could be in device-dax mode. This
was fixed in the kernel [1], but there is some fallout to handle in
ndctl and daxctl:
1/ teach libdaxctl that there may be multiple dax-region instances that
share the same region-id
2/ update 'ndctl list' to assume that there will only ever be one
device-dax instance per-namespace and emit the "chardev" by default
(Linda).
3/ fix 'daxctl list' to differentiate regions by path, since 'id' may be
duplicated.
4/ add a regression test for multi-dax configurations
---
Dan Williams (6):
ndctl, daxctl: propagate loglevel to internal libdaxctl instance
daxctl: stop carrying 'dax_region' in the daxctl_region region_path
daxctl: fix support for multiple instances per-region id
ndctl, list: emit device-dax 'chardev' by default
daxctl, list: clarify output when multiple regions share an id
test: add multi-dax test
daxctl/lib/libdaxctl.c | 78 ++++++++++++++++++++++++++++++++++------------
daxctl/lib/libdaxctl.sym | 5 +++
daxctl/libdaxctl.h | 2 +
daxctl/list.c | 2 +
ndctl/lib/libndctl.c | 2 +
ndctl/list.c | 2 +
ndctl/namespace.c | 2 +
test/Makefile.am | 1 +
test/multi-dax.sh | 61 ++++++++++++++++++++++++++++++++++++
util/json.c | 34 ++++++++++++++++++--
util/json.h | 3 +-
11 files changed, 165 insertions(+), 27 deletions(-)
create mode 100755 test/multi-dax.sh