On Tue, Sep 13, 2022 at 01:42:11PM +0200, Daniel Wagner wrote: > On Tue, Sep 13, 2022 at 10:57:44AM +0000, Shinichiro Kawasaki wrote: > > FYI, each blktests test case can define DMESG_FILTER not to fail with specific > > keywords in dmesg. Test cases meta/011 and block/028 are reference use > > cases. > > Ah okay, let me look into it. So I made the state read function a bit more robust (test if state file exists) and the it turns out this made rdma happy(??) but tcp is still breaking. nvmf_wait_for_state() { local subsys_name="$1" local state="$2" local timeout="${3:-$def_state_timeout}" local nvmedev=$(_find_nvme_dev "${subsys_name}") local state_file="/sys/class/nvme-fabrics/ctl/${nvmedev}/state" local start_time=$(date +%s) local end_time while [ -f "${state_file}" ]; do if grep -q "${state}" "${state_file}"; then break; fi end_time=$(date +%s) if (( end_time - start_time > timeout )); then echo "expected state \"${state}\" not " \ "reached within ${timeout} seconds" break fi sleep 1 done [ -f "${state_file}" ] || echo "failed to read ${state_file}" } c740:~/blktests # nvme_trtype=tcp ./check nvme/046 nvme/046 (Test queue count changes on reconnect) [passed] runtime 32.154s ... 32.189s c740:~/blktests # nvme_trtype=rdma ./check nvme/046 nvme/046 (Test queue count changes on reconnect) [passed] runtime 32.189s ... 23.488s c740:~/blktests # nvme_trtype=fc ./check nvme/046 nvme/046 (Test queue count changes on reconnect) [failed] runtime 23.488s ... 2.918s --- tests/nvme/046.out 2022-09-09 16:23:22.926123227 +0200 +++ /root/blktests/results/nodev/nvme/046.out.bad 2022-09-13 19:07:43.661118528 +0200 @@ -1,3 +1,7 @@ Running nvme/046 -NQN:blktests-subsystem-1 disconnected 1 controller(s) +failed to read /sys/class/nvme-fabrics/ctl/nvme0/state +failed to read /sys/class/nvme-fabrics/ctl//state +failed to read /sys/class/nvme-fabrics/ctl//state +failed to read /sys/class/nvme-fabrics/ctl//state +NQN:blktests-subsystem-1 disconnected 0 controller(s) ...