I saw daxctl-devices.sh is still failed before I apply my patch.
root@ubuntu-red:~/git/ndctl# vi test/test-suite.log
=========================================
ndctl 67.dirty: test/test-suite.log
=========================================
# TOTAL: 1
# PASS: 0
# SKIP: 0
# XFAIL: 0
# FAIL: 1
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: daxctl-devices.sh
=======================
+ rc=77
+ . ./common
++ '[' -f ../ndctl/ndctl ']'
++ '[' -x ../ndctl/ndctl ']'
++ export NDCTL=../ndctl/ndctl
++ NDCTL=../ndctl/ndctl
++ '[' -f ../daxctl/daxctl ']'
++ '[' -x ../daxctl/daxctl ']'
++ export DAXCTL=../daxctl/daxctl
++ DAXCTL=../daxctl/daxctl
++ NFIT_TEST_BUS0=nfit_test.0
++ NFIT_TEST_BUS1=nfit_test.1
++ ACPI_BUS=ACPI.NFIT
++ E820_BUS=e820
+ trap 'cleanup $LINENO' ERR
+ find_testdev
+ local rc=77
+ modinfo kmem
filename: /lib/modules/5.4.0-rc5_red_ndctltest_VM/kernel/drivers/dax/kmem.ko
alias: dax:t0*
license: GPL v2
author: Intel Corporation
srcversion: A0712EA9D9E63723E6B4CDA
depends:
retpoline: Y
intree: Y
name: kmem
vermagic: 5.4.0-rc5_red_ndctltest_VM SMP mod_unload
signat: PKCS#7
signer:
sig_key:
sig_hashalgo: md4
+ testbus=ACPI.NFIT
++ ../ndctl/ndctl list -b ACPI.NFIT -Ni
++ jq -er '.[0].dev | .//""'
+ testdev=namespace0.0
+ [[ ! -n namespace0.0 ]]
+ printf 'Found victim dev: %s on bus: %s\n' namespace0.0 ACPI.NFIT
Found victim dev: namespace0.0 on bus: ACPI.NFIT
+ setup_dev
+ test -n ACPI.NFIT
+ test -n namespace0.0
+ ../ndctl/ndctl destroy-namespace -f -b ACPI.NFIT namespace0.0
destroyed 1 namespace
++ ../ndctl/ndctl create-namespace -b ACPI.NFIT -m devdax -fe namespace0.0 -s 256M
++ jq -er .dev
+ testdev=namespace0.0
+ test -n namespace0.0
+ rc=1
+ daxctl_test
+ local daxdev
++ daxctl_get_dev namespace0.0
++ ../ndctl/ndctl list -n namespace0.0 -X
++ jq -er '.[].daxregion.devices[0].chardev'
+ daxdev=dax0.0
+ test -n dax0.0
+ ../daxctl/daxctl reconfigure-device -N -m system-ram dax0.0
libdaxctl: daxctl_dev_disable: dax0.0: error: device model is dax-class
libdaxctl: daxctl_dev_disable: dax0.0: see man daxctl-migrate-device-model
dax0.0: disable failed: Operation not supported
error reconfiguring devices: Operation not supported
reconfigured 0 devices
++ cleanup 74
++ printf 'Error at line %d\n' 74
Error at line 74
++ [[ -n namespace0.0 ]]
++ reset_dev
++ ../ndctl/ndctl destroy-namespace -f -b ACPI.NFIT namespace0.0
destroyed 1 namespace
++ exit 1
FAIL daxctl-devices.sh (exit status: 1)
-----Original Message-----
From: Li, Redhairer
Sent: Thursday, December 26, 2019 10:23 AM
To: 'Dan Williams' <dan.j.williams(a)intel.com>
Cc: 'linux-nvdimm(a)lists.01.org' <linux-nvdimm(a)lists.01.org>
Subject: RE: [PATCH] daxctl: Change region input type from INTEGER to STRING.
Build error is solved by following change.
diff --git a/test/Makefile.am b/test/Makefile.am index 829146d..d764190 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -98,10 +98,10 @@ ack_shutdown_count_set_SOURCES =\ ack_shutdown_count_set_LDADD =
$(LIBNDCTL_LIB) $(KMOD_LIBS)
blk_ns_SOURCES = blk_namespaces.c $(testcore) -blk_ns_LDADD = $(LIBNDCTL_LIB)
$(KMOD_LIBS)
+blk_ns_LDADD = $(LIBNDCTL_LIB) $(KMOD_LIBS) $(UUID_LIBS)
pmem_ns_SOURCES = pmem_namespaces.c $(testcore) -pmem_ns_LDADD = $(LIBNDCTL_LIB)
$(KMOD_LIBS)
+pmem_ns_LDADD = $(LIBNDCTL_LIB) $(KMOD_LIBS) $(UUID_LIBS)
dpa_alloc_SOURCES = dpa-alloc.c $(testcore) dpa_alloc_LDADD = $(LIBNDCTL_LIB)
$(UUID_LIBS) $(KMOD_LIBS) @@ -143,6 +143,7 @@ device_dax_LDADD = \
$(LIBNDCTL_LIB) \
$(KMOD_LIBS) \
$(JSON_LIBS) \
+ $(UUID_LIBS) \
../libutil.a
smart_notify_SOURCES = smart-notify.c
-----Original Message-----
From: Li, Redhairer
Sent: Thursday, December 26, 2019 9:48 AM
To: Dan Williams <dan.j.williams(a)intel.com>
Cc: linux-nvdimm(a)lists.01.org
Subject: RE: [PATCH] daxctl: Change region input type from INTEGER to STRING.
I try "--enable-destructive".
But I always see the following msg when I run "make check" and "make
TESTS=daxctl-devices.sh check".
Do I miss anything here?
/usr/bin/ld: blk_namespaces.o: undefined reference to symbol
'uuid_generate@@UUID_1.0'
//lib/x86_64-linux-gnu/libuuid.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:850: recipe for target 'blk-ns' failed
make[3]: *** [blk-ns] Error 1
Makefile:1477: recipe for target 'check-am' failed
make[2]: *** [check-am] Error 2
Makefile:785: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
Makefile:1079: recipe for target 'check' failed
make: *** [check] Error 2
-----Original Message-----
From: Dan Williams <dan.j.williams(a)intel.com>
Sent: Thursday, December 26, 2019 5:18 AM
To: Li, Redhairer <redhairer.li(a)intel.com>
Cc: linux-nvdimm(a)lists.01.org
Subject: Re: [PATCH] daxctl: Change region input type from INTEGER to STRING.
On Wed, Dec 25, 2019 at 2:33 AM Li, Redhairer <redhairer.li(a)intel.com> wrote:
Hi Dan,
I don't see any failure even apply my patch.
What failure do you observe?
I see the failure in the daxctl-devices.sh unit test. That test and others are included in
the "destructive" set of unit tests. They are classified "destructive"
because they write to platform persistent memory resources instead of the emulated
nfit_test resources. You need to pass "--enable-destructive" to the configure
script at build time to enable the destructive tests.