[PATCH blktests] tests/nvme/031: fix connecting faiure

Shinichiro Kawasaki shinichiro.kawasaki at wdc.com
Fri Sep 8 04:26:31 PDT 2023


On Sep 07, 2023 / 11:44, Yi Zhang wrote:
> allow_any_host was disabled during _create_nvmet_subsystem, call
> _create_nvmet_host before connecting to allow the host to connect.
> 
> [76096.420586] nvmet: adding nsid 1 to subsystem blktests-subsystem-0
> [76096.440595] nvmet_tcp: enabling port 0 (127.0.0.1:4420)
> [76096.491344] nvmet: connect by host nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349 for subsystem blktests-subsystem-0 not allowed
> [76096.505049] nvme nvme2: Connect for subsystem blktests-subsystem-0 is not allowed, hostnqn: nqn.2014-08.org.nvmexpress:uuid:0f01fb42-9f7f-4856-b0b3-51e60b8de349
> [76096.519609] nvme nvme2: failed to connect queue: 0 ret=16772
> 
> Signed-off-by: Yi Zhang <yi.zhang at redhat.com>

Thanks for the catching this. I looked back the past changes and found that the
commit c32b233b7dd6 ("nvme/rc: Add helper for adding/removing to allow list")
triggered the connection failure. So, I think a Fixes tag with this commit is
required (I can add when this patch is applied).

Even after the commit, the test case still passes. That's why I did not notice
the connection failure. I think _nvme_connect_subsys() should check exit status
of "nvme connect" command and print an error message on failure. This will help
to catch similar connection failures in future.

As for this patch, I will wait some days for further comments. Also will do some
confirmation test runs.

> ---
>  tests/nvme/031 | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/tests/nvme/031 b/tests/nvme/031
> index d5c2561..696db2d 100755
> --- a/tests/nvme/031
> +++ b/tests/nvme/031
> @@ -42,10 +42,12 @@ test() {
>  	for ((i = 0; i < iterations; i++)); do
>  		_create_nvmet_subsystem "${subsys}$i" "${loop_dev}"
>  		_add_nvmet_subsys_to_port "${port}" "${subsys}$i"
> +		_create_nvmet_host "${subsys}$i" "${def_hostnqn}"
>  		_nvme_connect_subsys "${nvme_trtype}" "${subsys}$i"
>  		_nvme_disconnect_subsys "${subsys}$i" >> "${FULL}" 2>&1
>  		_remove_nvmet_subsystem_from_port "${port}" "${subsys}$i"
>  		_remove_nvmet_subsystem "${subsys}$i"
> +		_remove_nvmet_host "${def_hostnqn}"
>  	done
>  
>  	_remove_nvmet_port "${port}"
> -- 
> 2.34.3
> 


More information about the Linux-nvme mailing list