On Wed, Jan 29, 2020 at 03:29:18PM -0800, Chaitanya Kulkarni wrote: > The new testcases exercises newly added cntlid [min|max] attributes > for NVMeOF target. > > Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@xxxxxxx> > --- > tests/nvme/033 | 57 ++++++++++++++++++++++++++++++++++++++++++++++ > tests/nvme/033.out | 4 ++++ > 2 files changed, 61 insertions(+) > create mode 100755 tests/nvme/033 > create mode 100644 tests/nvme/033.out > > diff --git a/tests/nvme/033 b/tests/nvme/033 > new file mode 100755 > index 0000000..97eba7f > --- /dev/null > +++ b/tests/nvme/033 > @@ -0,0 +1,57 @@ > +#!/bin/bash > +# SPDX-License-Identifier: GPL-2.0+ > +# Copyright (c) 2017-2018 Western Digital Corporation or its affiliates. > +# > +# Test NVMeOF target cntlid[min|max] attributes. > + > +. tests/nvme/rc > + > +DESCRIPTION="Test NVMeOF target cntlid[min|max] attributes" > +QUICK=1 > + > +requires() { > + _have_program nvme && _have_modules loop nvme-loop nvmet && \ > + _have_configfs > +} > + > +test() { > + echo "Running ${TEST_NAME}" > + > + _setup_nvmet > + > + local port > + local nvmedev > + local loop_dev > + local cid_min=14 > + local cid_max=15 > + local file_path="$TMPDIR/img" > + local subsys_name="blktests-subsystem-1" > + > + truncate -s 1G "${file_path}" > + > + loop_dev="$(losetup -f --show "${file_path}")" > + > + _create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \ > + "91fdba0d-f87b-4c25-b80f-db7be1418b9e" ${cid_min} ${cid_max} > + port="$(_create_nvmet_port "loop")" > + _add_nvmet_subsys_to_port "${port}" "${subsys_name}" > + > + nvme connect -t loop -n "${subsys_name}" > + > + udevadm settle > + > + nvmedev="$(_find_nvme_loop_dev)" > + nvme id-ctrl /dev/${nvmedev}n1 | grep cntlid | tr -s ' ' ' ' > + > + nvme disconnect -n "${subsys_name}" > + > + _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" > + _remove_nvmet_subsystem "${subsys_name}" > + _remove_nvmet_port "${port}" > + > + losetup -d "${loop_dev}" > + > + rm "${file_path}" > + > + echo "Test complete" > +} Another shellcheck warning: tests/nvme/033:44:20: note: Double quote to prevent globbing and word splitting. [SC2086] Also, this fails on kernels without this feature: nvme/033 (Test NVMeOF target cntlid[min|max] attributes) [failed] runtime ... 2.262s --- tests/nvme/033.out 2020-02-11 13:52:20.346831467 -0800 +++ /home/vmuser/repos/blktests/results/nodev/nvme/033.out.bad 2020-02-11 13:52:42.006948791 -0800 @@ -1,4 +1,4 @@ Running nvme/033 -cntlid : e +cntlid : 0x1 NQN:blktests-subsystem-1 disconnected 1 controller(s) Test complete Presumably because _create_nvmet_subsystem silently does nothing if attr_cntlid_min doesn't exist. We should skip the test if the kernel doesn't support it rather than ignoring it in _create_nvmet_subsystem.