From nobody Wed Dec 17 14:20:40 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9E654C71159 for ; Fri, 18 Aug 2023 14:16:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377693AbjHROQT (ORCPT ); Fri, 18 Aug 2023 10:16:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52014 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1377665AbjHROPu (ORCPT ); Fri, 18 Aug 2023 10:15:50 -0400 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F11EF3C3D; Fri, 18 Aug 2023 07:15:45 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id B26FF1F8A8; Fri, 18 Aug 2023 14:15:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1692368144; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aFH7C3etxPrD96fDEvOOGPP4eu7f+nPrFbOOuzz2T7M=; b=hyfRe8xAtYOk/zsj099y/t6UVkFqueL0K+YP7/Zrrv1+hOpCGd2SD40vkEb0z7i+F5OV2R uv5eLDMb9/WM4RoOLCLhaf14YaubOAcGWoQzlUAr6FdFTLHLVCyeCkyT6WguUVWqpoMWSq jpYOX/1I+zRDEy6fGjmNVktoIuqjRNs= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1692368144; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aFH7C3etxPrD96fDEvOOGPP4eu7f+nPrFbOOuzz2T7M=; b=PTJ4wq0yUWCSnSALUL1nsmwgBp8qk95RQaJvlf3cYZpCLrjXc34c+Ty70N1flysJxtH8BB uBE6TzUHIfCWgvCg== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id A40CC13441; Fri, 18 Aug 2023 14:15:44 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 0q25JxB932SbOwAAMHmgww (envelope-from ); Fri, 18 Aug 2023 14:15:44 +0000 From: Daniel Wagner To: linux-nvme@lists.infradead.org Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Chaitanya Kulkarni , Shin'ichiro Kawasaki , Hannes Reinecke , Sagi Grimberg , Jason Gunthorpe , Daniel Wagner Subject: [PATCH blktests v2 1/3] nvme/{033,034,035,036}: use default subsysnqn variable directly Date: Fri, 18 Aug 2023 16:15:35 +0200 Message-ID: <20230818141537.22332-2-dwagner@suse.de> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230818141537.22332-1-dwagner@suse.de> References: <20230818141537.22332-1-dwagner@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" There is no need to introduce an extra local variable when it uses the default subsysnqn anyway. Signed-off-by: Daniel Wagner --- tests/nvme/033 | 9 ++++----- tests/nvme/034 | 9 ++++----- tests/nvme/035 | 9 ++++----- tests/nvme/036 | 11 +++++------ 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/tests/nvme/033 b/tests/nvme/033 index 46a520ae01fa..d924883460c2 100755 --- a/tests/nvme/033 +++ b/tests/nvme/033 @@ -49,18 +49,17 @@ test_device() { =20 _setup_nvmet =20 - local subsys=3D"${def_subsysnqn}" local nsdev local port =20 - port=3D$(_nvmet_passthru_target_setup "${subsys}") + port=3D$(_nvmet_passthru_target_setup "${def_subsysnqn}") =20 - nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" "${subsys}") + nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" "${def_subsysnq= n}") =20 compare_dev_info "${nsdev}" =20 - _nvme_disconnect_subsys "${subsys}" - _nvmet_passthru_target_cleanup "${port}" "${subsys}" + _nvme_disconnect_subsys "${def_subsysnqn}" + _nvmet_passthru_target_cleanup "${port}" "${def_subsysnqn}" =20 echo "Test complete" } diff --git a/tests/nvme/034 b/tests/nvme/034 index 3c65d92cbaea..e79eef5e756d 100755 --- a/tests/nvme/034 +++ b/tests/nvme/034 @@ -19,18 +19,17 @@ test_device() { =20 _setup_nvmet =20 - local subsys=3D"${def_subsysnqn}" local ctrldev local nsdev local port =20 - port=3D$(_nvmet_passthru_target_setup "${subsys}") - nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" "${subsys}") + port=3D$(_nvmet_passthru_target_setup "${def_subsysnqn}") + nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" "${def_subsysnq= n}") =20 _run_fio_verify_io --size=3D"${nvme_img_size}" --filename=3D"${nsdev}" =20 - _nvme_disconnect_subsys "${subsys}" - _nvmet_passthru_target_cleanup "${port}" "${subsys}" + _nvme_disconnect_subsys "${def_subsysnqn}" + _nvmet_passthru_target_cleanup "${port}" "${def_subsysnqn}" =20 echo "Test complete" } diff --git a/tests/nvme/035 b/tests/nvme/035 index c705d9cf25a4..f0dfc92ceeea 100755 --- a/tests/nvme/035 +++ b/tests/nvme/035 @@ -25,18 +25,17 @@ test_device() { =20 _setup_nvmet =20 - local subsys=3D"${def_subsysnqn}" local ctrldev local nsdev local port =20 - port=3D$(_nvmet_passthru_target_setup "${subsys}") - nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" "${subsys}") + port=3D$(_nvmet_passthru_target_setup "${def_subsysnqn}") + nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" "${def_subsysnq= n}") =20 _xfs_run_fio_verify_io "${nsdev}" "${nvme_img_size}" =20 - _nvme_disconnect_subsys "${subsys}" - _nvmet_passthru_target_cleanup "${port}" "${subsys}" + _nvme_disconnect_subsys "${def_subsysnqn}" + _nvmet_passthru_target_cleanup "${port}" "${def_subsysnqn}" =20 echo "Test complete" } diff --git a/tests/nvme/036 b/tests/nvme/036 index 2e933cc41928..61b9e2309da7 100755 --- a/tests/nvme/036 +++ b/tests/nvme/036 @@ -18,21 +18,20 @@ test_device() { =20 _setup_nvmet =20 - local subsys=3D"${def_subsysnqn}" local ctrldev local port =20 - port=3D$(_nvmet_passthru_target_setup "${subsys}") - nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" "${subsys}") + port=3D$(_nvmet_passthru_target_setup "${def_subsysnqn}") + nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" "${def_subsysnq= n}") =20 - ctrldev=3D$(_find_nvme_dev "${subsys}") + ctrldev=3D$(_find_nvme_dev "${def_subsysnqn}") =20 if ! nvme reset "/dev/${ctrldev}" >> "$FULL" 2>&1; then echo "ERROR: reset failed" fi =20 - _nvme_disconnect_subsys "${subsys}" - _nvmet_passthru_target_cleanup "${port}" "${subsys}" + _nvme_disconnect_subsys "${def_subsysnqn}" + _nvmet_passthru_target_cleanup "${port}" "${def_subsysnqn}" =20 echo "Test complete" } --=20 2.41.0 From nobody Wed Dec 17 14:20:40 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BEBAAC7115A for ; Fri, 18 Aug 2023 14:16:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377705AbjHROQW (ORCPT ); Fri, 18 Aug 2023 10:16:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52034 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1377687AbjHROPu (ORCPT ); Fri, 18 Aug 2023 10:15:50 -0400 Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2001:67c:2178:6::1d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D34A3C3F; Fri, 18 Aug 2023 07:15:46 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 3DC421F8AC; Fri, 18 Aug 2023 14:15:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1692368145; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fBFsEI0/jrPBLLtbeuavruB1PrzH5cauI3y9s1NHi6I=; b=NL5BgYi75+jWolN2aiQ57XHRy2xhqKOUS8csGmT3Jt2IzHiSzRUo3rZNpmXtGLBqSjsi1R zuN9JXS0pShhU283vlnIQT1Ele5ADz56+aKK38woLo0NgRFTdPXmHcwwbCT+eombTSPUWh mdpEI6L85HmVW9pKFB4T8fDWRtnDba8= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1692368145; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fBFsEI0/jrPBLLtbeuavruB1PrzH5cauI3y9s1NHi6I=; b=NCxsre0lJQTNOQW4oUEDcAS+2mcYnucIYl0ePmCLZcMS2ysIyuaFXXxOqqcR6bIGASLBic UwH0N3Dm/ZMA8iBQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 30F7E13441; Fri, 18 Aug 2023 14:15:45 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id /fn0CxF932SdOwAAMHmgww (envelope-from ); Fri, 18 Aug 2023 14:15:45 +0000 From: Daniel Wagner To: linux-nvme@lists.infradead.org Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Chaitanya Kulkarni , Shin'ichiro Kawasaki , Hannes Reinecke , Sagi Grimberg , Jason Gunthorpe , Daniel Wagner Subject: [PATCH blktests v2 2/3] nvme/{033,034,035,036,37}: drop port handle between passthru target setup and cleanup Date: Fri, 18 Aug 2023 16:15:36 +0200 Message-ID: <20230818141537.22332-3-dwagner@suse.de> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230818141537.22332-1-dwagner@suse.de> References: <20230818141537.22332-1-dwagner@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The passthru nvmet setup and cleanup helpers are using the port as handle to track resources. Instead returning the port from the setup call, we figure out in the cleanup code which resources have been allocated. This avoids passing around awkward handles. Signed-off-by: Daniel Wagner --- tests/nvme/033 | 5 ++--- tests/nvme/034 | 5 ++--- tests/nvme/035 | 5 ++--- tests/nvme/036 | 5 ++--- tests/nvme/037 | 5 ++--- tests/nvme/rc | 30 ++++++++++++++++++++++++------ 6 files changed, 34 insertions(+), 21 deletions(-) diff --git a/tests/nvme/033 b/tests/nvme/033 index d924883460c2..6cc4f57e6d60 100755 --- a/tests/nvme/033 +++ b/tests/nvme/033 @@ -50,16 +50,15 @@ test_device() { _setup_nvmet =20 local nsdev - local port =20 - port=3D$(_nvmet_passthru_target_setup "${def_subsysnqn}") + _nvmet_passthru_target_setup "${def_subsysnqn}" =20 nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" "${def_subsysnq= n}") =20 compare_dev_info "${nsdev}" =20 _nvme_disconnect_subsys "${def_subsysnqn}" - _nvmet_passthru_target_cleanup "${port}" "${def_subsysnqn}" + _nvmet_passthru_target_cleanup "${def_subsysnqn}" =20 echo "Test complete" } diff --git a/tests/nvme/034 b/tests/nvme/034 index e79eef5e756d..3bd1c3ad2f61 100755 --- a/tests/nvme/034 +++ b/tests/nvme/034 @@ -21,15 +21,14 @@ test_device() { =20 local ctrldev local nsdev - local port =20 - port=3D$(_nvmet_passthru_target_setup "${def_subsysnqn}") + _nvmet_passthru_target_setup "${def_subsysnqn}" nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" "${def_subsysnq= n}") =20 _run_fio_verify_io --size=3D"${nvme_img_size}" --filename=3D"${nsdev}" =20 _nvme_disconnect_subsys "${def_subsysnqn}" - _nvmet_passthru_target_cleanup "${port}" "${def_subsysnqn}" + _nvmet_passthru_target_cleanup "${def_subsysnqn}" =20 echo "Test complete" } diff --git a/tests/nvme/035 b/tests/nvme/035 index f0dfc92ceeea..712fe1dbcfb8 100755 --- a/tests/nvme/035 +++ b/tests/nvme/035 @@ -27,15 +27,14 @@ test_device() { =20 local ctrldev local nsdev - local port =20 - port=3D$(_nvmet_passthru_target_setup "${def_subsysnqn}") + _nvmet_passthru_target_setup "${def_subsysnqn}" nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" "${def_subsysnq= n}") =20 _xfs_run_fio_verify_io "${nsdev}" "${nvme_img_size}" =20 _nvme_disconnect_subsys "${def_subsysnqn}" - _nvmet_passthru_target_cleanup "${port}" "${def_subsysnqn}" + _nvmet_passthru_target_cleanup "${def_subsysnqn}" =20 echo "Test complete" } diff --git a/tests/nvme/036 b/tests/nvme/036 index 61b9e2309da7..89ccd256a67c 100755 --- a/tests/nvme/036 +++ b/tests/nvme/036 @@ -19,9 +19,8 @@ test_device() { _setup_nvmet =20 local ctrldev - local port =20 - port=3D$(_nvmet_passthru_target_setup "${def_subsysnqn}") + _nvmet_passthru_target_setup "${def_subsysnqn}" nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" "${def_subsysnq= n}") =20 ctrldev=3D$(_find_nvme_dev "${def_subsysnqn}") @@ -31,7 +30,7 @@ test_device() { fi =20 _nvme_disconnect_subsys "${def_subsysnqn}" - _nvmet_passthru_target_cleanup "${port}" "${def_subsysnqn}" + _nvmet_passthru_target_cleanup "${def_subsysnqn}" =20 echo "Test complete" } diff --git a/tests/nvme/037 b/tests/nvme/037 index 5a78444b7e78..a2815b3ff2d7 100755 --- a/tests/nvme/037 +++ b/tests/nvme/037 @@ -20,15 +20,14 @@ test_device() { local subsys=3D"blktests-subsystem-" local iterations=3D10 local ctrldev - local port =20 for ((i =3D 0; i < iterations; i++)); do - port=3D$(_nvmet_passthru_target_setup "${subsys}${i}") + _nvmet_passthru_target_setup "${subsys}${i}" nsdev=3D$(_nvmet_passthru_target_connect "${nvme_trtype}" \ "${subsys}${i}") =20 _nvme_disconnect_subsys "${subsys}${i}" >>"${FULL}" 2>&1 - _nvmet_passthru_target_cleanup "${port}" "${subsys}${i}" + _nvmet_passthru_target_cleanup "${subsys}${i}" done =20 echo "Test complete" diff --git a/tests/nvme/rc b/tests/nvme/rc index 0b964e99efd8..b6f06be75ca1 100644 --- a/tests/nvme/rc +++ b/tests/nvme/rc @@ -712,6 +712,19 @@ _remove_nvmet_subsystem_from_port() { rm "${NVMET_CFS}/ports/${port}/subsystems/${nvmet_subsystem}" } =20 +_get_nvmet_ports() { + local nvmet_subsystem=3D"$1" + local -n nvmet_ports=3D"$2" + local cfs_path=3D"${NVMET_CFS}/ports" + local sarg + + sarg=3D"s;^${cfs_path}/\([0-9]\+\)/subsystems/${nvmet_subsystem}$;\1;p" + + for path in "${cfs_path}/"*"/subsystems/${nvmet_subsystem}"; do + nvmet_ports+=3D("$(echo "${path}" | sed -n -s "${sarg}")") + done +} + _set_nvmet_hostkey() { local nvmet_hostnqn=3D"$1" local nvmet_hostkey=3D"$2" @@ -781,13 +794,12 @@ _find_nvme_passthru_loop_dev() { =20 _nvmet_passthru_target_setup() { local subsys_name=3D$1 + local port =20 _create_nvmet_passthru "${subsys_name}" port=3D"$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" _create_nvmet_host "${subsys_name}" "${def_hostnqn}" - - echo "$port" } =20 _nvmet_passthru_target_connect() { @@ -806,11 +818,17 @@ _nvmet_passthru_target_connect() { } =20 _nvmet_passthru_target_cleanup() { - local port=3D$1 - local subsys_name=3D$2 + local subsys_name=3D$1 + local ports + local port + + _get_nvmet_ports "${subsys_name}" ports + + for port in "${ports[@]}"; do + _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" + _remove_nvmet_port "${port}" + done =20 - _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" - _remove_nvmet_port "${port}" _remove_nvmet_passhtru "${subsys_name}" _remove_nvmet_host "${def_hostnqn}" } --=20 2.41.0