From patchwork Thu Sep 3 21:26:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sagi Grimberg X-Patchwork-Id: 11755227 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C53D9618 for ; Thu, 3 Sep 2020 21:26:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id AE858206D4 for ; Thu, 3 Sep 2020 21:26:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728107AbgICV0u (ORCPT ); Thu, 3 Sep 2020 17:26:50 -0400 Received: from mail-wm1-f66.google.com ([209.85.128.66]:54719 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727065AbgICV0t (ORCPT ); Thu, 3 Sep 2020 17:26:49 -0400 Received: by mail-wm1-f66.google.com with SMTP id s13so4216010wmh.4 for ; Thu, 03 Sep 2020 14:26:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=7ub0Y3FnpAu3+m+90OvoGZcXT6a2cMjL2UkvmPpWQ8U=; b=UcBjV2Vw4n6IzJAGYJrDcVMR2M/qEA7MrJKPVNXLUPdGCIlhPHMNspKYE8QhrmRIeI JHg1nor4n1jBeqG0A1uKNRFoHzrVNfX7LB+GEOOE6B9lPuh7u6uHxbmzEygn3bPhJ3cU IPbs1DYU5ZJGvitXVGGbPTQuNXv0ru3zXO+3tCtXeC2bzN2G1aHAzzPWTBJjJ8qjIU0n qwP531oMTN4DEkX066odasS0TEAHqsojhS4dP0410Ze9L6m/bRrXfe2san1L9KiK1Ldc wEZ4oqFmPL/zDEQ8nW39m5rbaJzf0HWX84BLUlTw2LKgPaMc7zJzmA06DGJMZK9kUXBm eSuA== X-Gm-Message-State: AOAM530NDvgE5k/rDl4q6NJ6/KRn1t9nXE+8pdKfAAwiNt+ah2WD41Rp LxUEHHtRev6rJkF2q+RjXdjXopq+b048sg== X-Google-Smtp-Source: ABdhPJyOfnjPgoyRhzBwGBGRrHUMskIjh4xkFl8OoRmT7GBp8o449czsoZjaZakOblkzdJ1six3PmA== X-Received: by 2002:a7b:c14d:: with SMTP id z13mr4302271wmi.19.1599168404799; Thu, 03 Sep 2020 14:26:44 -0700 (PDT) Received: from localhost.localdomain ([2601:647:4802:9070:79a5:e112:bd7c:4b29]) by smtp.gmail.com with ESMTPSA id v204sm6659896wmg.20.2020.09.03.14.26.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Sep 2020 14:26:44 -0700 (PDT) From: Sagi Grimberg To: linux-block@vger.kernel.org, Omar Sandoval Cc: linux-nvme@lists.infradead.org, Logan Gunthorpe , Chaitanya Kulkarni , Keith Busch , Christoph Hellwig Subject: [PATCH v6 1/7] nvme: consolidate nvme requirements based on transport type Date: Thu, 3 Sep 2020 14:26:28 -0700 Message-Id: <20200903212634.503227-2-sagi@grimberg.me> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200903212634.503227-1-sagi@grimberg.me> References: <20200903212634.503227-1-sagi@grimberg.me> MIME-Version: 1.0 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org Right now, only pci and loop have tests, hence these are the only ones that are allowed. The user can pass an env variable nvme_trtype and check for the necessary modules. This allows prepares us to support other transport types. Note that test 031 is designed to run only with nvme, hence it overrides the environment variable to nvme_trtype=pci. Signed-off-by: Sagi Grimberg --- tests/nvme/002 | 3 ++- tests/nvme/003 | 3 ++- tests/nvme/004 | 3 ++- tests/nvme/005 | 6 +++--- tests/nvme/006 | 4 ++-- tests/nvme/007 | 2 +- tests/nvme/008 | 4 ++-- tests/nvme/009 | 2 +- tests/nvme/010 | 4 ++-- tests/nvme/011 | 4 ++-- tests/nvme/012 | 5 +++-- tests/nvme/013 | 4 ++-- tests/nvme/014 | 4 ++-- tests/nvme/015 | 3 ++- tests/nvme/016 | 2 +- tests/nvme/017 | 2 +- tests/nvme/018 | 4 ++-- tests/nvme/019 | 4 ++-- tests/nvme/020 | 2 +- tests/nvme/021 | 4 ++-- tests/nvme/022 | 4 ++-- tests/nvme/023 | 4 ++-- tests/nvme/024 | 4 ++-- tests/nvme/025 | 4 ++-- tests/nvme/026 | 4 ++-- tests/nvme/027 | 4 ++-- tests/nvme/028 | 4 ++-- tests/nvme/029 | 4 ++-- tests/nvme/030 | 5 ++--- tests/nvme/031 | 5 ++--- tests/nvme/032 | 4 ++++ tests/nvme/rc | 19 +++++++++++++++++++ 32 files changed, 80 insertions(+), 54 deletions(-) diff --git a/tests/nvme/002 b/tests/nvme/002 index 07b7fdae2d39..aaa5ec4d729a 100755 --- a/tests/nvme/002 +++ b/tests/nvme/002 @@ -10,7 +10,8 @@ DESCRIPTION="create many subsystems and test discovery" requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/003 b/tests/nvme/003 index ed0feca3cac7..fd696d9efe2c 100755 --- a/tests/nvme/003 +++ b/tests/nvme/003 @@ -11,7 +11,8 @@ DESCRIPTION="test if we're sending keep-alives to a discovery controller" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/004 b/tests/nvme/004 index 0debcd9c7049..b841a8d4cd87 100755 --- a/tests/nvme/004 +++ b/tests/nvme/004 @@ -12,7 +12,8 @@ DESCRIPTION="test nvme and nvmet UUID NS descriptors" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/005 b/tests/nvme/005 index 325f2b656613..df0900b372be 100755 --- a/tests/nvme/005 +++ b/tests/nvme/005 @@ -11,9 +11,9 @@ DESCRIPTION="reset local loopback target" QUICK=1 requires() { - _have_modules loop nvme-core nvme-loop nvmet && \ - _have_module_param_value nvme_core multipath Y && \ - _have_configfs && _have_program nvme + _nvme_requires + _have_modules loop && \ + _have_module_param_value nvme_core multipath Y } test() { diff --git a/tests/nvme/006 b/tests/nvme/006 index 6c8e18560264..3f47613d52d2 100755 --- a/tests/nvme/006 +++ b/tests/nvme/006 @@ -10,8 +10,8 @@ DESCRIPTION="create an NVMeOF target with a block device-backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/007 b/tests/nvme/007 index 58f4bf8808a1..0902745a4ab2 100755 --- a/tests/nvme/007 +++ b/tests/nvme/007 @@ -10,7 +10,7 @@ DESCRIPTION="create an NVMeOF target with a file-backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules nvme-loop nvmet && _have_configfs + _nvme_requires } test() { diff --git a/tests/nvme/008 b/tests/nvme/008 index 71ff4d962b00..f19de17fefac 100755 --- a/tests/nvme/008 +++ b/tests/nvme/008 @@ -10,8 +10,8 @@ DESCRIPTION="create an NVMeOF host with a block device-backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/009 b/tests/nvme/009 index 25c7da2ab854..4afbe62864f6 100755 --- a/tests/nvme/009 +++ b/tests/nvme/009 @@ -10,7 +10,7 @@ DESCRIPTION="create an NVMeOF host with a file-backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules nvme-loop nvmet && _have_configfs + _nvme_requires } test() { diff --git a/tests/nvme/010 b/tests/nvme/010 index 2ed0f4871a30..53b97484615f 100755 --- a/tests/nvme/010 +++ b/tests/nvme/010 @@ -10,8 +10,8 @@ DESCRIPTION="run data verification fio job on NVMeOF block device-backed ns" TIMED=1 requires() { - _have_program nvme && _have_fio && \ - _have_modules loop nvme-loop nvmet && _have_configfs + _nvme_requires + _have_fio _have_modules loop } test() { diff --git a/tests/nvme/011 b/tests/nvme/011 index 974b33745b99..a54583d5c582 100755 --- a/tests/nvme/011 +++ b/tests/nvme/011 @@ -10,8 +10,8 @@ DESCRIPTION="run data verification fio job on NVMeOF file-backed ns" TIMED=1 requires() { - _have_program nvme && _have_fio && _have_configfs && \ - _have_modules nvme-loop nvmet + _nvme_requires + _have_fio } test() { diff --git a/tests/nvme/012 b/tests/nvme/012 index 27981e903c58..0049c3d8ceb6 100755 --- a/tests/nvme/012 +++ b/tests/nvme/012 @@ -10,8 +10,9 @@ DESCRIPTION="run mkfs and data verification fio job on NVMeOF block device-backe TIMED=1 requires() { - _have_program nvme && _have_program mkfs.xfs && _have_program fio && \ - _have_modules loop nvme-loop nvmet && _have_configfs + _nvme_requires + _have_program mkfs.xfs && _have_program fio && \ + _have_modules loop } test() { diff --git a/tests/nvme/013 b/tests/nvme/013 index af5f3730a2fc..622706ec4088 100755 --- a/tests/nvme/013 +++ b/tests/nvme/013 @@ -10,8 +10,8 @@ DESCRIPTION="run mkfs and data verification fio job on NVMeOF file-backed ns" TIMED=1 requires() { - _have_program nvme && _have_program mkfs.xfs && _have_fio && \ - _have_modules nvme-loop nvmet && _have_configfs + _nvme_requires + _have_program mkfs.xfs && _have_fio } test() { diff --git a/tests/nvme/014 b/tests/nvme/014 index c255d5f12205..9517230253ab 100755 --- a/tests/nvme/014 +++ b/tests/nvme/014 @@ -10,8 +10,8 @@ DESCRIPTION="flush a NVMeOF block device-backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/015 b/tests/nvme/015 index a8497a2ba400..40b850974b43 100755 --- a/tests/nvme/015 +++ b/tests/nvme/015 @@ -10,7 +10,8 @@ DESCRIPTION="unit test for NVMe flush for file backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/016 b/tests/nvme/016 index f1e383cb441a..e1bad2f81461 100755 --- a/tests/nvme/016 +++ b/tests/nvme/016 @@ -9,7 +9,7 @@ DESCRIPTION="create/delete many NVMeOF block device-backed ns and test discovery" requires() { - _have_program nvme && _have_modules nvme-loop nvmet && _have_configfs + _nvme_requires } test() { diff --git a/tests/nvme/017 b/tests/nvme/017 index 6787b5c754ba..2e6d649f9b65 100755 --- a/tests/nvme/017 +++ b/tests/nvme/017 @@ -9,7 +9,7 @@ DESCRIPTION="create/delete many file-ns and test discovery" requires() { - _have_program nvme && _have_modules nvme-loop nvmet && _have_configfs + _nvme_requires } test() { diff --git a/tests/nvme/018 b/tests/nvme/018 index 67d89a6f0b24..e39613709c90 100755 --- a/tests/nvme/018 +++ b/tests/nvme/018 @@ -11,8 +11,8 @@ DESCRIPTION="unit test NVMe-oF out of range access on a file backend" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/019 b/tests/nvme/019 index a8b0204ec0eb..86a2a2945b35 100755 --- a/tests/nvme/019 +++ b/tests/nvme/019 @@ -10,8 +10,8 @@ DESCRIPTION="test NVMe DSM Discard command on NVMeOF block-device ns" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/020 b/tests/nvme/020 index b480ee1b92d0..ccadec6a5822 100755 --- a/tests/nvme/020 +++ b/tests/nvme/020 @@ -10,7 +10,7 @@ DESCRIPTION="test NVMe DSM Discard command on NVMeOF file-backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules nvme-loop nvmet && _have_configfs + _nvme_requires } test() { diff --git a/tests/nvme/021 b/tests/nvme/021 index bbee54d16ff1..bbcb9d56a350 100755 --- a/tests/nvme/021 +++ b/tests/nvme/021 @@ -10,8 +10,8 @@ DESCRIPTION="test NVMe list command on NVMeOF file-backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/022 b/tests/nvme/022 index 9ba07c1cc50f..452e7b3d196c 100755 --- a/tests/nvme/022 +++ b/tests/nvme/022 @@ -10,8 +10,8 @@ DESCRIPTION="test NVMe reset command on NVMeOF file-backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/023 b/tests/nvme/023 index ed2a5ad7653f..2714571d16d9 100755 --- a/tests/nvme/023 +++ b/tests/nvme/023 @@ -10,8 +10,8 @@ DESCRIPTION="test NVMe smart-log command on NVMeOF block-device ns" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/024 b/tests/nvme/024 index 538580947c5c..1f87bd19ec69 100755 --- a/tests/nvme/024 +++ b/tests/nvme/024 @@ -10,8 +10,8 @@ DESCRIPTION="test NVMe smart-log command on NVMeOF file-backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/025 b/tests/nvme/025 index 0039fefa5007..1b9e33351f61 100755 --- a/tests/nvme/025 +++ b/tests/nvme/025 @@ -10,8 +10,8 @@ DESCRIPTION="test NVMe effects-log command on NVMeOF file-backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/026 b/tests/nvme/026 index 7e89d840529c..21a265a630ba 100755 --- a/tests/nvme/026 +++ b/tests/nvme/026 @@ -10,8 +10,8 @@ DESCRIPTION="test NVMe ns-descs command on NVMeOF file-backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/027 b/tests/nvme/027 index 4d293beb8b47..d7d33796e122 100755 --- a/tests/nvme/027 +++ b/tests/nvme/027 @@ -10,8 +10,8 @@ DESCRIPTION="test NVMe ns-rescan command on NVMeOF file-backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/028 b/tests/nvme/028 index 1280107ed5df..1643857437e8 100755 --- a/tests/nvme/028 +++ b/tests/nvme/028 @@ -10,8 +10,8 @@ DESCRIPTION="test NVMe list-subsys command on NVMeOF file-backed ns" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/029 b/tests/nvme/029 index 65eb40031888..9f437285d085 100755 --- a/tests/nvme/029 +++ b/tests/nvme/029 @@ -11,8 +11,8 @@ DESCRIPTION="test userspace IO via nvme-cli read/write interface" QUICK=1 requires() { - _have_program nvme && _have_modules loop nvme-loop nvmet && \ - _have_configfs + _nvme_requires + _have_modules loop } test_user_io() diff --git a/tests/nvme/030 b/tests/nvme/030 index 94020f47411e..7156cad7b657 100755 --- a/tests/nvme/030 +++ b/tests/nvme/030 @@ -10,9 +10,8 @@ DESCRIPTION="ensure the discovery generation counter is updated appropriately" QUICK=1 requires() { - _have_program nvme && - _have_modules loop nvme-loop nvmet && - _have_configfs + _nvme_requires + _have_modules loop } diff --git a/tests/nvme/031 b/tests/nvme/031 index 892f20bad9a7..7e7ee7327e62 100755 --- a/tests/nvme/031 +++ b/tests/nvme/031 @@ -18,9 +18,8 @@ DESCRIPTION="test deletion of NVMeOF controllers immediately after setup" QUICK=1 requires() { - _have_program nvme && - _have_modules loop nvme-loop nvmet && - _have_configfs + _nvme_requires + _have_modules loop } test() { diff --git a/tests/nvme/032 b/tests/nvme/032 index 0d0d53b325e6..017d4a339971 100755 --- a/tests/nvme/032 +++ b/tests/nvme/032 @@ -11,11 +11,15 @@ . tests/nvme/rc +#restrict test to nvme-pci only +nvme_trtype=pci + DESCRIPTION="test nvme pci adapter rescan/reset/remove during I/O" QUICK=1 CAN_BE_ZONED=1 requires() { + _nvme_requires _have_fio } diff --git a/tests/nvme/rc b/tests/nvme/rc index 6ffa971b4308..320aa4b2b475 100644 --- a/tests/nvme/rc +++ b/tests/nvme/rc @@ -6,6 +6,25 @@ . common/rc +nvme_trtype=${nvme_trtype:-"loop"} + +_nvme_requires() { + _have_program nvme + case ${nvme_trtype} in + loop) + _have_modules nvmet nvme-core nvme-loop + _have_configfs + ;; + pci) + _have_modules nvme nvme-core + ;; + *) + SKIP_REASON="unsupported nvme_trtype=${nvme_trtype}" + return 1 + esac + return 0 +} + group_requires() { _have_root } From patchwork Thu Sep 3 21:26:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sagi Grimberg X-Patchwork-Id: 11755229 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 43D0A91F for ; Thu, 3 Sep 2020 21:26:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2C1ED206EF for ; Thu, 3 Sep 2020 21:26:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727065AbgICV0v (ORCPT ); Thu, 3 Sep 2020 17:26:51 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:39053 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726891AbgICV0v (ORCPT ); Thu, 3 Sep 2020 17:26:51 -0400 Received: by mail-wm1-f68.google.com with SMTP id b79so4231375wmb.4 for ; Thu, 03 Sep 2020 14:26:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RjLxVU9bJSYIr8RJXBleNXvEadigpiXjtlRIegUl5q4=; b=ExjFxq+KLePpXUU52w+2mxbGV4uW42PSJEeTnaKHUY/UWt/u1IGbO2kgE8BtmpGuam NJ9XgydaLWInW+z5rOUEEzI3L9a8Y+/XEsEBEWX0oJlOq/RweC39r0ciaIPTnwCMkAy4 rLpDPYuQOVGN0d2KCHrjW7fXfYH35ar2tt4sTexg4NvxwLT6cK3B9wMx1IPGQRqbPHzL v/FzFO9M6SrMU+sJ7JHkke/SsZGNpuUuJM0vSPhWV9B5tR8jSjK4SEgMRrKy5YyYfZE/ AoOx8hd+dmXt03WfdrgsmVdcLsD4QZ+czlmho6okq886+9n9Y39x1xMFpgtfo0SQsYw2 KtaQ== X-Gm-Message-State: AOAM531D6V3eFGH8t++eLZVSYiMHviWIi3RQbtGD3o6CVp+2+bxTsrmM m8WwxXv0OAkV9GS8IuyoQfi6qKU8p+T2xw== X-Google-Smtp-Source: ABdhPJylIsrhFqz2/wU7QAPu3xJ7GAUxd14TM5fr7NrnLDjlNkx1cevJjCSjihWRoJOpdNEZFXZehA== X-Received: by 2002:a1c:cc0d:: with SMTP id h13mr4252925wmb.44.1599168407455; Thu, 03 Sep 2020 14:26:47 -0700 (PDT) Received: from localhost.localdomain ([2601:647:4802:9070:79a5:e112:bd7c:4b29]) by smtp.gmail.com with ESMTPSA id v204sm6659896wmg.20.2020.09.03.14.26.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Sep 2020 14:26:47 -0700 (PDT) From: Sagi Grimberg To: linux-block@vger.kernel.org, Omar Sandoval Cc: linux-nvme@lists.infradead.org, Logan Gunthorpe , Chaitanya Kulkarni , Keith Busch , Christoph Hellwig Subject: [PATCH v6 2/7] nvme: consolidate some nvme-cli utility functions Date: Thu, 3 Sep 2020 14:26:29 -0700 Message-Id: <20200903212634.503227-3-sagi@grimberg.me> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200903212634.503227-1-sagi@grimberg.me> References: <20200903212634.503227-1-sagi@grimberg.me> MIME-Version: 1.0 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org Signed-off-by: Sagi Grimberg --- tests/nvme/002 | 2 +- tests/nvme/003 | 4 ++-- tests/nvme/004 | 4 ++-- tests/nvme/005 | 4 ++-- tests/nvme/008 | 4 ++-- tests/nvme/009 | 4 ++-- tests/nvme/010 | 4 ++-- tests/nvme/011 | 4 ++-- tests/nvme/012 | 4 ++-- tests/nvme/013 | 4 ++-- tests/nvme/014 | 4 ++-- tests/nvme/015 | 4 ++-- tests/nvme/016 | 2 +- tests/nvme/017 | 2 +- tests/nvme/018 | 4 ++-- tests/nvme/019 | 4 ++-- tests/nvme/020 | 4 ++-- tests/nvme/021 | 4 ++-- tests/nvme/022 | 4 ++-- tests/nvme/023 | 4 ++-- tests/nvme/024 | 4 ++-- tests/nvme/025 | 4 ++-- tests/nvme/026 | 4 ++-- tests/nvme/027 | 4 ++-- tests/nvme/028 | 4 ++-- tests/nvme/029 | 4 ++-- tests/nvme/031 | 4 ++-- tests/nvme/rc | 31 +++++++++++++++++++++++++++++-- 28 files changed, 80 insertions(+), 53 deletions(-) diff --git a/tests/nvme/002 b/tests/nvme/002 index aaa5ec4d729a..92779e8d28ca 100755 --- a/tests/nvme/002 +++ b/tests/nvme/002 @@ -31,7 +31,7 @@ test() { _add_nvmet_subsys_to_port "${port}" "blktests-subsystem-$i" done - nvme discover -t loop | _filter_discovery + _nvme_discover loop | _filter_discovery for ((i = iterations - 1; i >= 0; i--)); do _remove_nvmet_subsystem_from_port "${port}" "blktests-subsystem-$i" diff --git a/tests/nvme/003 b/tests/nvme/003 index fd696d9efe2c..83d1b2ff9cb0 100755 --- a/tests/nvme/003 +++ b/tests/nvme/003 @@ -29,7 +29,7 @@ test() { _create_nvmet_subsystem "blktests-subsystem-1" "${loop_dev}" _add_nvmet_subsys_to_port "${port}" "blktests-subsystem-1" - nvme connect -t loop -n nqn.2014-08.org.nvmexpress.discovery + _nvme_connect_subsys loop nqn.2014-08.org.nvmexpress.discovery # This is ugly but checking for the absence of error messages is ... sleep 10 @@ -42,7 +42,7 @@ test() { echo "Fail" fi - nvme disconnect -n nqn.2014-08.org.nvmexpress.discovery + _nvme_disconnect_subsys nqn.2014-08.org.nvmexpress.discovery _remove_nvmet_subsystem_from_port "${port}" "blktests-subsystem-1" _remove_nvmet_subsystem "blktests-subsystem-1" _remove_nvmet_port "${port}" diff --git a/tests/nvme/004 b/tests/nvme/004 index b841a8d4cd87..1a3eedd634cf 100755 --- a/tests/nvme/004 +++ b/tests/nvme/004 @@ -33,14 +33,14 @@ test() { "91fdba0d-f87b-4c25-b80f-db7be1418b9e" _add_nvmet_subsys_to_port "${port}" "blktests-subsystem-1" - nvme connect -t loop -n blktests-subsystem-1 + _nvme_connect_subsys loop blktests-subsystem-1 local nvmedev nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" - nvme disconnect -n "blktests-subsystem-1" + _nvme_disconnect_subsys blktests-subsystem-1 _remove_nvmet_subsystem_from_port "${port}" "blktests-subsystem-1" _remove_nvmet_subsystem "blktests-subsystem-1" _remove_nvmet_port "${port}" diff --git a/tests/nvme/005 b/tests/nvme/005 index df0900b372be..708e37766e0e 100755 --- a/tests/nvme/005 +++ b/tests/nvme/005 @@ -33,7 +33,7 @@ test() { "91fdba0d-f87b-4c25-b80f-db7be1418b9e" _add_nvmet_subsys_to_port "${port}" "blktests-subsystem-1" - nvme connect -t loop -n blktests-subsystem-1 + _nvme_connect_subsys loop blktests-subsystem-1 local nvmedev nvmedev="$(_find_nvme_loop_dev)" @@ -42,7 +42,7 @@ test() { echo 1 > "/sys/class/nvme/${nvmedev}/reset_controller" - nvme disconnect -d "${nvmedev}" + _nvme_disconnect_ctrl ${nvmedev} _remove_nvmet_subsystem_from_port "${port}" "blktests-subsystem-1" _remove_nvmet_port "${port}" diff --git a/tests/nvme/008 b/tests/nvme/008 index f19de17fefac..177a1f27dcd6 100755 --- a/tests/nvme/008 +++ b/tests/nvme/008 @@ -34,7 +34,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -42,7 +42,7 @@ test() { udevadm settle - nvme disconnect -n "${subsys_name}" + _nvme_disconnect_subsys ${subsys_name} _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/009 b/tests/nvme/009 index 4afbe62864f6..621eec668926 100755 --- a/tests/nvme/009 +++ b/tests/nvme/009 @@ -30,7 +30,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -38,7 +38,7 @@ test() { udevadm settle - nvme disconnect -n "${subsys_name}" + _nvme_disconnect_subsys ${subsys_name} _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/010 b/tests/nvme/010 index 53b97484615f..3a629469014f 100755 --- a/tests/nvme/010 +++ b/tests/nvme/010 @@ -34,7 +34,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -42,7 +42,7 @@ test() { _run_fio_verify_io --size=950m --filename="/dev/${nvmedev}n1" - nvme disconnect -n "${subsys_name}" + _nvme_disconnect_subsys ${subsys_name} _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/011 b/tests/nvme/011 index a54583d5c582..068090a0f42d 100755 --- a/tests/nvme/011 +++ b/tests/nvme/011 @@ -32,7 +32,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -40,7 +40,7 @@ test() { _run_fio_verify_io --size=950m --filename="/dev/${nvmedev}n1" - nvme disconnect -n "${subsys_name}" + _nvme_disconnect_subsys ${subsys_name} _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/012 b/tests/nvme/012 index 0049c3d8ceb6..4cab4c1891a9 100755 --- a/tests/nvme/012 +++ b/tests/nvme/012 @@ -38,7 +38,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -54,7 +54,7 @@ test() { umount "${mount_dir}" > /dev/null 2>&1 - nvme disconnect -n "${subsys_name}" + _nvme_disconnect_subsys ${subsys_name} _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/013 b/tests/nvme/013 index 622706ec4088..b646f08be26a 100755 --- a/tests/nvme/013 +++ b/tests/nvme/013 @@ -35,7 +35,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -51,7 +51,7 @@ test() { umount "${mount_dir}" > /dev/null 2>&1 - nvme disconnect -n "${subsys_name}" + _nvme_disconnect_subsys ${subsys_name} _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/014 b/tests/nvme/014 index 9517230253ab..979f77009209 100755 --- a/tests/nvme/014 +++ b/tests/nvme/014 @@ -34,7 +34,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -44,7 +44,7 @@ test() { nvme flush "/dev/${nvmedev}" -n 1 - nvme disconnect -n "${subsys_name}" + _nvme_disconnect_subsys ${subsys_name} _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/015 b/tests/nvme/015 index 40b850974b43..ecd23b206e25 100755 --- a/tests/nvme/015 +++ b/tests/nvme/015 @@ -31,7 +31,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -41,7 +41,7 @@ test() { nvme flush "/dev/${nvmedev}n1" -n 1 - nvme disconnect -n "${subsys_name}" + _nvme_disconnect_subsys ${subsys_name} _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/016 b/tests/nvme/016 index e1bad2f81461..a2b22adfc6b9 100755 --- a/tests/nvme/016 +++ b/tests/nvme/016 @@ -33,7 +33,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "$port" "${subsys_nqn}" - nvme discover -t loop | _filter_discovery + _nvme_discover loop | _filter_discovery _remove_nvmet_subsystem_from_port "${port}" "${subsys_nqn}" _remove_nvmet_port "${port}" diff --git a/tests/nvme/017 b/tests/nvme/017 index 2e6d649f9b65..7ec146ec7414 100755 --- a/tests/nvme/017 +++ b/tests/nvme/017 @@ -36,7 +36,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme discover -t loop | _filter_discovery + _nvme_discover loop | _filter_discovery _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_port "${port}" diff --git a/tests/nvme/018 b/tests/nvme/018 index e39613709c90..9b5abefd39d2 100755 --- a/tests/nvme/018 +++ b/tests/nvme/018 @@ -32,7 +32,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -46,7 +46,7 @@ test() { nvme read "/dev/${nvmedev}n1" -s "$sectors" -c 0 -z "$bs" &>"$FULL" \ && echo "ERROR: nvme read for out of range LBA was not rejected" - nvme disconnect -n "${subsys_name}" + _nvme_disconnect_subsys ${subsys_name} _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/019 b/tests/nvme/019 index 86a2a2945b35..5bc68e4514f9 100755 --- a/tests/nvme/019 +++ b/tests/nvme/019 @@ -36,7 +36,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -44,7 +44,7 @@ test() { nvme dsm "/dev/${nvmedev}" -n 1 -d -s "${sblk_range}" -b "${nblk_range}" - nvme disconnect -n "${subsys_name}" + _nvme_disconnect_subsys ${subsys_name} _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/020 b/tests/nvme/020 index ccadec6a5822..32f7490b0796 100755 --- a/tests/nvme/020 +++ b/tests/nvme/020 @@ -32,7 +32,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -40,7 +40,7 @@ test() { nvme dsm "/dev/${nvmedev}" -n 1 -d -s "${sblk_range}" -b "${nblk_range}" - nvme disconnect -n "${subsys_name}" + _nvme_disconnect_subsys ${subsys_name} _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/021 b/tests/nvme/021 index bbcb9d56a350..c10c09277cff 100755 --- a/tests/nvme/021 +++ b/tests/nvme/021 @@ -31,7 +31,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -41,7 +41,7 @@ test() { echo "ERROR: device not listed" fi - nvme disconnect -n "${subsys_name}" >> "$FULL" 2>&1 + _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/022 b/tests/nvme/022 index 452e7b3d196c..f7286ef008e0 100755 --- a/tests/nvme/022 +++ b/tests/nvme/022 @@ -31,7 +31,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -41,7 +41,7 @@ test() { echo "ERROR: reset failed" fi - nvme disconnect -n "${subsys_name}" >> "$FULL" 2>&1 + _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/023 b/tests/nvme/023 index 2714571d16d9..0b93fe95954b 100755 --- a/tests/nvme/023 +++ b/tests/nvme/023 @@ -34,7 +34,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -44,7 +44,7 @@ test() { echo "ERROR: smart-log bdev-ns failed" fi - nvme disconnect -n "${subsys_name}" >> "$FULL" 2>&1 + _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/024 b/tests/nvme/024 index 1f87bd19ec69..174fdc74a4e1 100755 --- a/tests/nvme/024 +++ b/tests/nvme/024 @@ -31,7 +31,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -40,7 +40,7 @@ test() { if ! nvme smart-log "/dev/${nvmedev}" -n 1 >> "$FULL" 2>&1; then echo "ERROR: smart-log file-ns failed" fi - nvme disconnect -n "${subsys_name}" >> "$FULL" 2>&1 + _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/025 b/tests/nvme/025 index 1b9e33351f61..7f90a57861bd 100755 --- a/tests/nvme/025 +++ b/tests/nvme/025 @@ -31,7 +31,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -41,7 +41,7 @@ test() { echo "ERROR: effects-log failed" fi - nvme disconnect -n "${subsys_name}" >> "$FULL" 2>&1 + _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/026 b/tests/nvme/026 index 21a265a630ba..5af08b753fe9 100755 --- a/tests/nvme/026 +++ b/tests/nvme/026 @@ -31,7 +31,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -41,7 +41,7 @@ test() { echo "ERROR: ns-desc failed" fi - nvme disconnect -n "${subsys_name}" >> "$FULL" 2>&1 + _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/027 b/tests/nvme/027 index d7d33796e122..445f4fc65306 100755 --- a/tests/nvme/027 +++ b/tests/nvme/027 @@ -31,7 +31,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -40,7 +40,7 @@ test() { if ! nvme ns-rescan "/dev/${nvmedev}" >> "$FULL" 2>&1; then echo "ERROR: ns-rescan failed" fi - nvme disconnect -n "${subsys_name}" >> "$FULL" 2>&1 + _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/028 b/tests/nvme/028 index 1643857437e8..70f6462bb9f3 100755 --- a/tests/nvme/028 +++ b/tests/nvme/028 @@ -31,7 +31,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -40,7 +40,7 @@ test() { if ! nvme list-subsys 2>> "$FULL" | grep -q loop; then echo "ERROR: list-subsys" fi - nvme disconnect -n "${subsys_name}" >> "$FULL" 2>&1 + _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/029 b/tests/nvme/029 index 9f437285d085..873e54e7e43a 100755 --- a/tests/nvme/029 +++ b/tests/nvme/029 @@ -67,7 +67,7 @@ test() { port="$(_create_nvmet_port "loop")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - nvme connect -t loop -n "${subsys_name}" + _nvme_connect_subsys loop ${subsys_name} nvmedev="$(_find_nvme_loop_dev)" cat "/sys/block/${nvmedev}n1/uuid" @@ -81,7 +81,7 @@ test() { test_user_io "$dev" 511 1023 > "$FULL" 2>&1 || echo FAIL test_user_io "$dev" 511 1025 > "$FULL" 2>&1 || echo FAIL - nvme disconnect -n "${subsys_name}" >> "$FULL" 2>&1 + _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/031 b/tests/nvme/031 index 7e7ee7327e62..7053553cb837 100755 --- a/tests/nvme/031 +++ b/tests/nvme/031 @@ -41,8 +41,8 @@ test() { for ((i = 0; i < iterations; i++)); do _create_nvmet_subsystem "${subsys}$i" "${loop_dev}" _add_nvmet_subsys_to_port "${port}" "${subsys}$i" - nvme connect -t loop -n "${subsys}$i" - nvme disconnect -n "${subsys}$i" >> "${FULL}" 2>&1 + _nvme_connect_subsys loop "${subsys}$i" + _nvme_disconnect_subsys "${subsys}$i" >> "${FULL}" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys}$i" _remove_nvmet_subsystem "${subsys}$i" done diff --git a/tests/nvme/rc b/tests/nvme/rc index 320aa4b2b475..db19d50131e9 100644 --- a/tests/nvme/rc +++ b/tests/nvme/rc @@ -64,7 +64,7 @@ _cleanup_nvmet() { transport="$(cat "/sys/class/nvme/${dev}/transport")" if [[ "$transport" == "loop" ]]; then echo "WARNING: Test did not clean up loop device: ${dev}" - nvme disconnect -d "${dev}" + _nvme_disconnect_ctrl "${dev}" fi done @@ -97,6 +97,33 @@ _setup_nvmet() { modprobe nvme-loop } +_nvme_disconnect_ctrl() { + local ctrl="$1" + + nvme disconnect -d "${ctrl}" +} + +_nvme_disconnect_subsys() { + local subsysnqn="$1" + + nvme disconnect -n "${subsysnqn}" +} + +_nvme_connect_subsys() { + local trtype="$1" + local subsysnqn="$2" + + ARGS=(-t "${trtype}" -n "${subsysnqn}") + nvme connect "${ARGS[@]}" +} + +_nvme_discover() { + local trtype="$1" + + ARGS=(-t "${trtype}" -n "${subsysnqn}") + nvme discover "${ARGS[@]}" +} + _create_nvmet_port() { local trtype="$1" @@ -206,6 +233,6 @@ _filter_discovery() { } _discovery_genctr() { - nvme discover -t loop | + _nvme_discover loop | sed -n -e 's/^.*Generation counter \([0-9]\+\).*$/\1/p' } From patchwork Thu Sep 3 21:26:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sagi Grimberg X-Patchwork-Id: 11755231 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1424991F for ; Thu, 3 Sep 2020 21:26:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id EB12F206CA for ; Thu, 3 Sep 2020 21:26:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728271AbgICV05 (ORCPT ); Thu, 3 Sep 2020 17:26:57 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:33497 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726891AbgICV04 (ORCPT ); Thu, 3 Sep 2020 17:26:56 -0400 Received: by mail-wr1-f66.google.com with SMTP id m6so4741515wrn.0 for ; Thu, 03 Sep 2020 14:26:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=G9iwFxPRmcaRhefYmZPIVD+jnN83NvVkHZzzTySYg6Y=; b=by97S0+6K7jY1XzkFk2bMtVDEBYL+5+ZD9mpS+BxnAAGEWNGJc4gnYzU8ZR4oPxvai RA4jEV/sfYGawrLU1yQM4Ja+fVWECferSrbrYo6c6yPD52Nh7tlLV6hdFs11SnLFvLZL B6FURgsxV2gvOZ4hK4YEV5MMCY2vM0TfjIL0FaSVrzCK4AiKgrCOUT3e5Tcp6n2WOC1I a7m+paO4VT1dhUjooX/LJH+BoMhlDTibn4hnJfvuLmKTgKOLeqFit4qz/vL4bkT7fgUl /5984PJsOSFsIJWnwy4NC3kP61YtwD5Q7lsN0eJBRk4mU5wVkfK4E3RCgpSyH9BnJT1O 5Xjg== X-Gm-Message-State: AOAM5316XSnA67Yr1Dltt3wonctW8ouNIylmqfT6OkkfbhSnjLJbGPmU CCQ0J95AaR6hIQspWnzKw5FxwX7qYZsfbw== X-Google-Smtp-Source: ABdhPJwXFL7lRvlbsRy/JWHMpq7pkSKh/h1CM7920h03WjxpBJoKe6+k6qnWnBwmhyrUJmFbG3K8uQ== X-Received: by 2002:a5d:610d:: with SMTP id v13mr4226205wrt.23.1599168410437; Thu, 03 Sep 2020 14:26:50 -0700 (PDT) Received: from localhost.localdomain ([2601:647:4802:9070:79a5:e112:bd7c:4b29]) by smtp.gmail.com with ESMTPSA id v204sm6659896wmg.20.2020.09.03.14.26.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Sep 2020 14:26:49 -0700 (PDT) From: Sagi Grimberg To: linux-block@vger.kernel.org, Omar Sandoval Cc: linux-nvme@lists.infradead.org, Logan Gunthorpe , Chaitanya Kulkarni , Keith Busch , Christoph Hellwig Subject: [PATCH v6 3/7] nvme: make tests transport type agnostic Date: Thu, 3 Sep 2020 14:26:30 -0700 Message-Id: <20200903212634.503227-4-sagi@grimberg.me> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200903212634.503227-1-sagi@grimberg.me> References: <20200903212634.503227-1-sagi@grimberg.me> MIME-Version: 1.0 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org Pass in nvme_trtype to common routines that can support multiple transport types. Signed-off-by: Sagi Grimberg Reviewed-by: Logan Gunthorpe --- tests/nvme/002 | 4 ++-- tests/nvme/003 | 4 ++-- tests/nvme/004 | 6 +++--- tests/nvme/005 | 8 ++++---- tests/nvme/006 | 2 +- tests/nvme/007 | 2 +- tests/nvme/008 | 8 ++++---- tests/nvme/009 | 8 ++++---- tests/nvme/010 | 8 ++++---- tests/nvme/011 | 8 ++++---- tests/nvme/012 | 8 ++++---- tests/nvme/013 | 8 ++++---- tests/nvme/014 | 8 ++++---- tests/nvme/015 | 8 ++++---- tests/nvme/016 | 2 +- tests/nvme/017 | 2 +- tests/nvme/018 | 8 ++++---- tests/nvme/019 | 8 ++++---- tests/nvme/020 | 8 ++++---- tests/nvme/021 | 8 ++++---- tests/nvme/022 | 8 ++++---- tests/nvme/023 | 8 ++++---- tests/nvme/024 | 8 ++++---- tests/nvme/025 | 8 ++++---- tests/nvme/026 | 8 ++++---- tests/nvme/027 | 8 ++++---- tests/nvme/028 | 10 +++++----- tests/nvme/029 | 8 ++++---- tests/nvme/030 | 2 +- tests/nvme/031 | 4 ++-- tests/nvme/rc | 39 ++++++++++++++++++++++++++++++++------- 31 files changed, 131 insertions(+), 106 deletions(-) diff --git a/tests/nvme/002 b/tests/nvme/002 index 92779e8d28ca..955f68da026a 100755 --- a/tests/nvme/002 +++ b/tests/nvme/002 @@ -21,7 +21,7 @@ test() { local iterations=1000 local port - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" local loop_dev loop_dev="$(losetup -f)" @@ -31,7 +31,7 @@ test() { _add_nvmet_subsys_to_port "${port}" "blktests-subsystem-$i" done - _nvme_discover loop | _filter_discovery + _nvme_discover "${nvme_trtype}" | _filter_discovery for ((i = iterations - 1; i >= 0; i--)); do _remove_nvmet_subsystem_from_port "${port}" "blktests-subsystem-$i" diff --git a/tests/nvme/003 b/tests/nvme/003 index 83d1b2ff9cb0..654ff776f6f9 100755 --- a/tests/nvme/003 +++ b/tests/nvme/003 @@ -21,7 +21,7 @@ test() { _setup_nvmet local port - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" local loop_dev loop_dev="$(losetup -f)" @@ -29,7 +29,7 @@ test() { _create_nvmet_subsystem "blktests-subsystem-1" "${loop_dev}" _add_nvmet_subsys_to_port "${port}" "blktests-subsystem-1" - _nvme_connect_subsys loop nqn.2014-08.org.nvmexpress.discovery + _nvme_connect_subsys "${nvme_trtype}" nqn.2014-08.org.nvmexpress.discovery # This is ugly but checking for the absence of error messages is ... sleep 10 diff --git a/tests/nvme/004 b/tests/nvme/004 index 1a3eedd634cf..0a62e3448e7b 100755 --- a/tests/nvme/004 +++ b/tests/nvme/004 @@ -22,7 +22,7 @@ test() { _setup_nvmet local port - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" truncate -s 1G "$TMPDIR/img" @@ -33,10 +33,10 @@ test() { "91fdba0d-f87b-4c25-b80f-db7be1418b9e" _add_nvmet_subsys_to_port "${port}" "blktests-subsystem-1" - _nvme_connect_subsys loop blktests-subsystem-1 + _nvme_connect_subsys "${nvme_trtype}" blktests-subsystem-1 local nvmedev - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" diff --git a/tests/nvme/005 b/tests/nvme/005 index 708e37766e0e..e97287a96a4e 100755 --- a/tests/nvme/005 +++ b/tests/nvme/005 @@ -22,7 +22,7 @@ test() { _setup_nvmet local port - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" truncate -s 1G "$TMPDIR/img" @@ -33,16 +33,16 @@ test() { "91fdba0d-f87b-4c25-b80f-db7be1418b9e" _add_nvmet_subsys_to_port "${port}" "blktests-subsystem-1" - _nvme_connect_subsys loop blktests-subsystem-1 + _nvme_connect_subsys "${nvme_trtype}" blktests-subsystem-1 local nvmedev - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" udevadm settle echo 1 > "/sys/class/nvme/${nvmedev}/reset_controller" - _nvme_disconnect_ctrl ${nvmedev} + _nvme_disconnect_ctrl "${nvmedev}" _remove_nvmet_subsystem_from_port "${port}" "blktests-subsystem-1" _remove_nvmet_port "${port}" diff --git a/tests/nvme/006 b/tests/nvme/006 index 3f47613d52d2..8fe95461e6cc 100755 --- a/tests/nvme/006 +++ b/tests/nvme/006 @@ -29,7 +29,7 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" diff --git a/tests/nvme/007 b/tests/nvme/007 index 0902745a4ab2..e712026ba373 100755 --- a/tests/nvme/007 +++ b/tests/nvme/007 @@ -28,7 +28,7 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" diff --git a/tests/nvme/008 b/tests/nvme/008 index 177a1f27dcd6..cb36442bda18 100755 --- a/tests/nvme/008 +++ b/tests/nvme/008 @@ -31,18 +31,18 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" udevadm settle - _nvme_disconnect_subsys ${subsys_name} + _nvme_disconnect_subsys "${subsys_name}" _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/009 b/tests/nvme/009 index 621eec668926..6abca757b4e6 100755 --- a/tests/nvme/009 +++ b/tests/nvme/009 @@ -27,18 +27,18 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" udevadm settle - _nvme_disconnect_subsys ${subsys_name} + _nvme_disconnect_subsys "${subsys_name}" _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/010 b/tests/nvme/010 index 3a629469014f..903da818b5ac 100755 --- a/tests/nvme/010 +++ b/tests/nvme/010 @@ -31,18 +31,18 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" _run_fio_verify_io --size=950m --filename="/dev/${nvmedev}n1" - _nvme_disconnect_subsys ${subsys_name} + _nvme_disconnect_subsys "${subsys_name}" _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/011 b/tests/nvme/011 index 068090a0f42d..4060e6278d44 100755 --- a/tests/nvme/011 +++ b/tests/nvme/011 @@ -29,18 +29,18 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" _run_fio_verify_io --size=950m --filename="/dev/${nvmedev}n1" - _nvme_disconnect_subsys ${subsys_name} + _nvme_disconnect_subsys "${subsys_name}" _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/012 b/tests/nvme/012 index 4cab4c1891a9..dd8bceca5373 100755 --- a/tests/nvme/012 +++ b/tests/nvme/012 @@ -35,12 +35,12 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" @@ -54,7 +54,7 @@ test() { umount "${mount_dir}" > /dev/null 2>&1 - _nvme_disconnect_subsys ${subsys_name} + _nvme_disconnect_subsys "${subsys_name}" _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/013 b/tests/nvme/013 index b646f08be26a..059d608a892f 100755 --- a/tests/nvme/013 +++ b/tests/nvme/013 @@ -32,12 +32,12 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" @@ -51,7 +51,7 @@ test() { umount "${mount_dir}" > /dev/null 2>&1 - _nvme_disconnect_subsys ${subsys_name} + _nvme_disconnect_subsys "${subsys_name}" _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/014 b/tests/nvme/014 index 979f77009209..192322862072 100755 --- a/tests/nvme/014 +++ b/tests/nvme/014 @@ -31,12 +31,12 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" @@ -44,7 +44,7 @@ test() { nvme flush "/dev/${nvmedev}" -n 1 - _nvme_disconnect_subsys ${subsys_name} + _nvme_disconnect_subsys "${subsys_name}" _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/015 b/tests/nvme/015 index ecd23b206e25..353445ad31b9 100755 --- a/tests/nvme/015 +++ b/tests/nvme/015 @@ -28,12 +28,12 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" @@ -41,7 +41,7 @@ test() { nvme flush "/dev/${nvmedev}n1" -n 1 - _nvme_disconnect_subsys ${subsys_name} + _nvme_disconnect_subsys "${subsys_name}" _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/016 b/tests/nvme/016 index a2b22adfc6b9..f829dedf7baa 100755 --- a/tests/nvme/016 +++ b/tests/nvme/016 @@ -30,7 +30,7 @@ test() { _create_nvmet_ns "${subsys_nqn}" "${i}" "${loop_dev}" done - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "$port" "${subsys_nqn}" _nvme_discover loop | _filter_discovery diff --git a/tests/nvme/017 b/tests/nvme/017 index 7ec146ec7414..e552af17ccb9 100755 --- a/tests/nvme/017 +++ b/tests/nvme/017 @@ -33,7 +33,7 @@ test() { _create_nvmet_ns "${subsys_name}" "${i}" "${file_path}" done - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" _nvme_discover loop | _filter_discovery diff --git a/tests/nvme/018 b/tests/nvme/018 index 9b5abefd39d2..73703a286ff8 100755 --- a/tests/nvme/018 +++ b/tests/nvme/018 @@ -29,12 +29,12 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" @@ -46,7 +46,7 @@ test() { nvme read "/dev/${nvmedev}n1" -s "$sectors" -c 0 -z "$bs" &>"$FULL" \ && echo "ERROR: nvme read for out of range LBA was not rejected" - _nvme_disconnect_subsys ${subsys_name} + _nvme_disconnect_subsys "${subsys_name}" _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/019 b/tests/nvme/019 index 5bc68e4514f9..8ccfface176e 100755 --- a/tests/nvme/019 +++ b/tests/nvme/019 @@ -33,18 +33,18 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" nvme dsm "/dev/${nvmedev}" -n 1 -d -s "${sblk_range}" -b "${nblk_range}" - _nvme_disconnect_subsys ${subsys_name} + _nvme_disconnect_subsys "${subsys_name}" _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/020 b/tests/nvme/020 index 32f7490b0796..7861d47513e5 100755 --- a/tests/nvme/020 +++ b/tests/nvme/020 @@ -29,18 +29,18 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" nvme dsm "/dev/${nvmedev}" -n 1 -d -s "${sblk_range}" -b "${nblk_range}" - _nvme_disconnect_subsys ${subsys_name} + _nvme_disconnect_subsys "${subsys_name}" _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/021 b/tests/nvme/021 index c10c09277cff..52d14f0490b1 100755 --- a/tests/nvme/021 +++ b/tests/nvme/021 @@ -28,12 +28,12 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" @@ -41,7 +41,7 @@ test() { echo "ERROR: device not listed" fi - _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 + _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/022 b/tests/nvme/022 index f7286ef008e0..111dec92f791 100755 --- a/tests/nvme/022 +++ b/tests/nvme/022 @@ -28,12 +28,12 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" @@ -41,7 +41,7 @@ test() { echo "ERROR: reset failed" fi - _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 + _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/023 b/tests/nvme/023 index 0b93fe95954b..31f77ff07055 100755 --- a/tests/nvme/023 +++ b/tests/nvme/023 @@ -31,12 +31,12 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" @@ -44,7 +44,7 @@ test() { echo "ERROR: smart-log bdev-ns failed" fi - _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 + _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/024 b/tests/nvme/024 index 174fdc74a4e1..5a30b08b9d8e 100755 --- a/tests/nvme/024 +++ b/tests/nvme/024 @@ -28,19 +28,19 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" if ! nvme smart-log "/dev/${nvmedev}" -n 1 >> "$FULL" 2>&1; then echo "ERROR: smart-log file-ns failed" fi - _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 + _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/025 b/tests/nvme/025 index 7f90a57861bd..b7903d6ad8f2 100755 --- a/tests/nvme/025 +++ b/tests/nvme/025 @@ -28,12 +28,12 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" @@ -41,7 +41,7 @@ test() { echo "ERROR: effects-log failed" fi - _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 + _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/026 b/tests/nvme/026 index 5af08b753fe9..721d486bc7de 100755 --- a/tests/nvme/026 +++ b/tests/nvme/026 @@ -28,12 +28,12 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" @@ -41,7 +41,7 @@ test() { echo "ERROR: ns-desc failed" fi - _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 + _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/027 b/tests/nvme/027 index 445f4fc65306..6be7d0492d37 100755 --- a/tests/nvme/027 +++ b/tests/nvme/027 @@ -28,19 +28,19 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" if ! nvme ns-rescan "/dev/${nvmedev}" >> "$FULL" 2>&1; then echo "ERROR: ns-rescan failed" fi - _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 + _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/028 b/tests/nvme/028 index 70f6462bb9f3..2d89c8fa35de 100755 --- a/tests/nvme/028 +++ b/tests/nvme/028 @@ -28,19 +28,19 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${file_path}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" - if ! nvme list-subsys 2>> "$FULL" | grep -q loop; then + if ! nvme list-subsys 2>> "$FULL" | grep -q "${nvme_trtype}"; then echo "ERROR: list-subsys" fi - _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 + _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/029 b/tests/nvme/029 index 873e54e7e43a..0bface97ccd5 100755 --- a/tests/nvme/029 +++ b/tests/nvme/029 @@ -64,12 +64,12 @@ test() { _create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _add_nvmet_subsys_to_port "${port}" "${subsys_name}" - _nvme_connect_subsys loop ${subsys_name} + _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" - nvmedev="$(_find_nvme_loop_dev)" + nvmedev="$(_find_nvme_dev)" cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" @@ -81,7 +81,7 @@ test() { test_user_io "$dev" 511 1023 > "$FULL" 2>&1 || echo FAIL test_user_io "$dev" 511 1025 > "$FULL" 2>&1 || echo FAIL - _nvme_disconnect_subsys ${subsys_name} >> "$FULL" 2>&1 + _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1 _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}" _remove_nvmet_subsystem "${subsys_name}" diff --git a/tests/nvme/030 b/tests/nvme/030 index 7156cad7b657..91c042ab6b0b 100755 --- a/tests/nvme/030 +++ b/tests/nvme/030 @@ -37,7 +37,7 @@ test() { _setup_nvmet - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" _create_nvmet_subsystem "${subsys}1" "$(losetup -f)" _add_nvmet_subsys_to_port "${port}" "${subsys}1" diff --git a/tests/nvme/031 b/tests/nvme/031 index 7053553cb837..3faa4c171cc8 100755 --- a/tests/nvme/031 +++ b/tests/nvme/031 @@ -36,12 +36,12 @@ test() { loop_dev="$(losetup -f --show "$TMPDIR/img")" - port="$(_create_nvmet_port "loop")" + port="$(_create_nvmet_port "${nvme_trtype}")" for ((i = 0; i < iterations; i++)); do _create_nvmet_subsystem "${subsys}$i" "${loop_dev}" _add_nvmet_subsys_to_port "${port}" "${subsys}$i" - _nvme_connect_subsys loop "${subsys}$i" + _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" diff --git a/tests/nvme/rc b/tests/nvme/rc index db19d50131e9..875127d85876 100644 --- a/tests/nvme/rc +++ b/tests/nvme/rc @@ -6,6 +6,9 @@ . common/rc +def_traddr="127.0.0.1" +def_adrfam="ipv4" +def_trsvcid="4420" nvme_trtype=${nvme_trtype:-"loop"} _nvme_requires() { @@ -62,8 +65,8 @@ _cleanup_nvmet() { for dev in /sys/class/nvme/nvme*; do dev="$(basename "$dev")" transport="$(cat "/sys/class/nvme/${dev}/transport")" - if [[ "$transport" == "loop" ]]; then - echo "WARNING: Test did not clean up loop device: ${dev}" + if [[ "$transport" == "${nvme_trtype}" ]]; then + echo "WARNING: Test did not clean up ${nvme_trtype} device: ${dev}" _nvme_disconnect_ctrl "${dev}" fi done @@ -87,14 +90,20 @@ _cleanup_nvmet() { shopt -u nullglob trap SIGINT - modprobe -r nvme-loop 2>/dev/null + modprobe -r nvme-"${nvme_trtype}" 2>/dev/null + if [[ "${nvme_trtype}" != "loop" ]]; then + modprobe -r nvmet-"${nvme_trtype}" 2>/dev/null + fi modprobe -r nvmet 2>/dev/null } _setup_nvmet() { _register_test_cleanup _cleanup_nvmet modprobe nvmet - modprobe nvme-loop + if [[ "${nvme_trtype}" != "loop" ]]; then + modprobe nvmet-"${nvme_trtype}" + fi + modprobe nvme-"${nvme_trtype}" } _nvme_disconnect_ctrl() { @@ -112,20 +121,33 @@ _nvme_disconnect_subsys() { _nvme_connect_subsys() { local trtype="$1" local subsysnqn="$2" + local traddr="${3:-$def_traddr}" + local trsvcid="${4:-$def_trsvcid}" ARGS=(-t "${trtype}" -n "${subsysnqn}") + if [[ "${trtype}" != "loop" ]]; then + ARGS+=(-a "${traddr}" -s "${trsvcid}") + fi nvme connect "${ARGS[@]}" } _nvme_discover() { local trtype="$1" + local traddr="${2:-$def_traddr}" + local trsvcid="${3:-$def_trsvcid}" ARGS=(-t "${trtype}" -n "${subsysnqn}") + if [[ "${trtype}" != "loop" ]]; then + ARGS+=(-a "${traddr}" -s "${trsvcid}") + fi nvme discover "${ARGS[@]}" } _create_nvmet_port() { local trtype="$1" + local traddr="${2:-$def_traddr}" + local adrfam="${3:-$def_adrfam}" + local trsvcid="${4:-$def_trsvcid}" local port for ((port = 0; ; port++)); do @@ -136,6 +158,9 @@ _create_nvmet_port() { mkdir "${NVMET_CFS}/ports/${port}" echo "${trtype}" > "${NVMET_CFS}/ports/${port}/addr_trtype" + echo "${traddr}" > "${NVMET_CFS}/ports/${port}/addr_traddr" + echo "${adrfam}" > "${NVMET_CFS}/ports/${port}/addr_adrfam" + echo "${trsvcid}" > "${NVMET_CFS}/ports/${port}/addr_trsvcid" echo "${port}" } @@ -207,13 +232,13 @@ _remove_nvmet_subsystem_from_port() { rm "${NVMET_CFS}/ports/${port}/subsystems/${nvmet_subsystem}" } -_find_nvme_loop_dev() { +_find_nvme_dev() { local dev local transport for dev in /sys/class/nvme/nvme*; do dev="$(basename "$dev")" transport="$(cat "/sys/class/nvme/${dev}/transport")" - if [[ "$transport" == "loop" ]]; then + if [[ "$transport" == "${nvme_trtype}" ]]; then echo "$dev" for ((i = 0; i < 10; i++)); do if [[ -e /sys/block/$dev/uuid && @@ -233,6 +258,6 @@ _filter_discovery() { } _discovery_genctr() { - _nvme_discover loop | + _nvme_discover "${nvme_trtype}" | sed -n -e 's/^.*Generation counter \([0-9]\+\).*$/\1/p' } From patchwork Thu Sep 3 21:26:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sagi Grimberg X-Patchwork-Id: 11755235 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B3DB4618 for ; Thu, 3 Sep 2020 21:26:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A1985206EF for ; Thu, 3 Sep 2020 21:26:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728129AbgICV07 (ORCPT ); Thu, 3 Sep 2020 17:26:59 -0400 Received: from mail-wm1-f66.google.com ([209.85.128.66]:52770 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728127AbgICV06 (ORCPT ); Thu, 3 Sep 2020 17:26:58 -0400 Received: by mail-wm1-f66.google.com with SMTP id q9so4235652wmj.2 for ; Thu, 03 Sep 2020 14:26:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=b/uTQxij/TKn4MX+WnD0zPtzN/MEHz4PhHGNPUyvyWs=; b=KlFKt/dBQo6Nyq1VQJRNViUaUZhaPLUyOlvs6vNUjeMegGB1BItszHPMiN+YyxQxya 05grByeW+mmZTt23LZqu8XTLtWRHPMD9MP/KcqxsTg7m23qXvPcyWCjlXh+Vpbr9DPbz VOujouoaPFEKXBnJbeoz9x0vpsIU6Y6kTIy/1unmkViOoWQJi/WxLeyoXtMsIUNT6XWe V/HTT57RfqAvXYToe7C93kmlW91YtMMsUS/NqV1tDcLw45inSQfkpw00FkW3Di3/xoU1 gDu1C4GsNBrG7KHF4/MdUmeou3906uOe5eM2mTEFdPACdkfBGg3WN3G1m4cZtkziDA2j kSbw== X-Gm-Message-State: AOAM53382unOeL1Jyx/Zr2oP2gf0Ry7fq+6LhZBwK4OBau/nj7eAErhE uc0ICvqR205QZ//ctD8u/WACv9cm1Z7icA== X-Google-Smtp-Source: ABdhPJy1zGwMVoR0i0CrBNfWFKiHdinSmndHsalamEqg2oXCN3eQH5nSHJdIYvoNo7LBK8S6RLz4Eg== X-Received: by 2002:a1c:5581:: with SMTP id j123mr4468392wmb.11.1599168413511; Thu, 03 Sep 2020 14:26:53 -0700 (PDT) Received: from localhost.localdomain ([2601:647:4802:9070:79a5:e112:bd7c:4b29]) by smtp.gmail.com with ESMTPSA id v204sm6659896wmg.20.2020.09.03.14.26.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Sep 2020 14:26:53 -0700 (PDT) From: Sagi Grimberg To: linux-block@vger.kernel.org, Omar Sandoval Cc: linux-nvme@lists.infradead.org, Logan Gunthorpe , Chaitanya Kulkarni , Keith Busch , Christoph Hellwig Subject: [PATCH v6 4/7] tests/nvme: restrict tests to specific transports Date: Thu, 3 Sep 2020 14:26:31 -0700 Message-Id: <20200903212634.503227-5-sagi@grimberg.me> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200903212634.503227-1-sagi@grimberg.me> References: <20200903212634.503227-1-sagi@grimberg.me> MIME-Version: 1.0 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org Protect against running tests with the wrong transport type. Most tests cannot have nvme_trtype=nvme and discovery tests expect the $trtype to be written and verified in the .out file. Adding a couple of helpers to restrict the transport types in tests. Signed-off-by: Sagi Grimberg --- tests/nvme/002 | 1 + tests/nvme/003 | 1 + tests/nvme/004 | 1 + tests/nvme/005 | 1 + tests/nvme/006 | 1 + tests/nvme/007 | 1 + tests/nvme/008 | 1 + tests/nvme/009 | 1 + tests/nvme/010 | 1 + tests/nvme/011 | 1 + tests/nvme/012 | 1 + tests/nvme/013 | 1 + tests/nvme/014 | 1 + tests/nvme/015 | 1 + tests/nvme/016 | 1 + tests/nvme/017 | 1 + tests/nvme/018 | 1 + tests/nvme/019 | 1 + tests/nvme/020 | 1 + tests/nvme/021 | 1 + tests/nvme/022 | 1 + tests/nvme/023 | 1 + tests/nvme/024 | 1 + tests/nvme/025 | 1 + tests/nvme/026 | 1 + tests/nvme/027 | 1 + tests/nvme/028 | 1 + tests/nvme/029 | 1 + tests/nvme/030 | 1 + tests/nvme/031 | 1 + tests/nvme/rc | 16 ++++++++++++++++ 31 files changed, 46 insertions(+) diff --git a/tests/nvme/002 b/tests/nvme/002 index 955f68da026a..ca11c11c9a09 100755 --- a/tests/nvme/002 +++ b/tests/nvme/002 @@ -12,6 +12,7 @@ DESCRIPTION="create many subsystems and test discovery" requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_loop } test() { diff --git a/tests/nvme/003 b/tests/nvme/003 index 654ff776f6f9..101c1841c6df 100755 --- a/tests/nvme/003 +++ b/tests/nvme/003 @@ -13,6 +13,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/004 b/tests/nvme/004 index 0a62e3448e7b..dfca79aab20c 100755 --- a/tests/nvme/004 +++ b/tests/nvme/004 @@ -14,6 +14,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/005 b/tests/nvme/005 index e97287a96a4e..0d5801868bc0 100755 --- a/tests/nvme/005 +++ b/tests/nvme/005 @@ -14,6 +14,7 @@ requires() { _nvme_requires _have_modules loop && \ _have_module_param_value nvme_core multipath Y + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/006 b/tests/nvme/006 index 8fe95461e6cc..9230dc6ed902 100755 --- a/tests/nvme/006 +++ b/tests/nvme/006 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/007 b/tests/nvme/007 index e712026ba373..d53100f3ff7b 100755 --- a/tests/nvme/007 +++ b/tests/nvme/007 @@ -11,6 +11,7 @@ QUICK=1 requires() { _nvme_requires + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/008 b/tests/nvme/008 index cb36442bda18..8616617ad398 100755 --- a/tests/nvme/008 +++ b/tests/nvme/008 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/009 b/tests/nvme/009 index 6abca757b4e6..e91d79065cb1 100755 --- a/tests/nvme/009 +++ b/tests/nvme/009 @@ -11,6 +11,7 @@ QUICK=1 requires() { _nvme_requires + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/010 b/tests/nvme/010 index 903da818b5ac..9d96d7803be3 100755 --- a/tests/nvme/010 +++ b/tests/nvme/010 @@ -12,6 +12,7 @@ TIMED=1 requires() { _nvme_requires _have_fio _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/011 b/tests/nvme/011 index 4060e6278d44..06dc568fb6ea 100755 --- a/tests/nvme/011 +++ b/tests/nvme/011 @@ -12,6 +12,7 @@ TIMED=1 requires() { _nvme_requires _have_fio + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/012 b/tests/nvme/012 index dd8bceca5373..8110430e49d4 100755 --- a/tests/nvme/012 +++ b/tests/nvme/012 @@ -13,6 +13,7 @@ requires() { _nvme_requires _have_program mkfs.xfs && _have_program fio && \ _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/013 b/tests/nvme/013 index 059d608a892f..176b11b9ccb5 100755 --- a/tests/nvme/013 +++ b/tests/nvme/013 @@ -12,6 +12,7 @@ TIMED=1 requires() { _nvme_requires _have_program mkfs.xfs && _have_fio + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/014 b/tests/nvme/014 index 192322862072..e3c70364e332 100755 --- a/tests/nvme/014 +++ b/tests/nvme/014 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/015 b/tests/nvme/015 index 353445ad31b9..46fa4f605749 100755 --- a/tests/nvme/015 +++ b/tests/nvme/015 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/016 b/tests/nvme/016 index f829dedf7baa..4eba30223a08 100755 --- a/tests/nvme/016 +++ b/tests/nvme/016 @@ -10,6 +10,7 @@ DESCRIPTION="create/delete many NVMeOF block device-backed ns and test discovery requires() { _nvme_requires + _require_nvme_trtype_is_loop } test() { diff --git a/tests/nvme/017 b/tests/nvme/017 index e552af17ccb9..f2a95cf276cb 100755 --- a/tests/nvme/017 +++ b/tests/nvme/017 @@ -10,6 +10,7 @@ DESCRIPTION="create/delete many file-ns and test discovery" requires() { _nvme_requires + _require_nvme_trtype_is_loop } test() { diff --git a/tests/nvme/018 b/tests/nvme/018 index 73703a286ff8..6d7934d09d99 100755 --- a/tests/nvme/018 +++ b/tests/nvme/018 @@ -13,6 +13,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/019 b/tests/nvme/019 index 8ccfface176e..486b5acff713 100755 --- a/tests/nvme/019 +++ b/tests/nvme/019 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/020 b/tests/nvme/020 index 7861d47513e5..c8053f440e2e 100755 --- a/tests/nvme/020 +++ b/tests/nvme/020 @@ -11,6 +11,7 @@ QUICK=1 requires() { _nvme_requires + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/021 b/tests/nvme/021 index 52d14f0490b1..f543a1d8fd92 100755 --- a/tests/nvme/021 +++ b/tests/nvme/021 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/022 b/tests/nvme/022 index 111dec92f791..e824ed31f6f0 100755 --- a/tests/nvme/022 +++ b/tests/nvme/022 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/023 b/tests/nvme/023 index 31f77ff07055..bdef3dc8abca 100755 --- a/tests/nvme/023 +++ b/tests/nvme/023 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/024 b/tests/nvme/024 index 5a30b08b9d8e..78f779e8a08a 100755 --- a/tests/nvme/024 +++ b/tests/nvme/024 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/025 b/tests/nvme/025 index b7903d6ad8f2..223430965d7e 100755 --- a/tests/nvme/025 +++ b/tests/nvme/025 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/026 b/tests/nvme/026 index 721d486bc7de..7f82284d9c57 100755 --- a/tests/nvme/026 +++ b/tests/nvme/026 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/027 b/tests/nvme/027 index 6be7d0492d37..da96e6c5008d 100755 --- a/tests/nvme/027 +++ b/tests/nvme/027 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/028 b/tests/nvme/028 index 2d89c8fa35de..f826b67623f1 100755 --- a/tests/nvme/028 +++ b/tests/nvme/028 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/029 b/tests/nvme/029 index 0bface97ccd5..5bed9b8e70ae 100755 --- a/tests/nvme/029 +++ b/tests/nvme/029 @@ -13,6 +13,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test_user_io() diff --git a/tests/nvme/030 b/tests/nvme/030 index 91c042ab6b0b..37df902da895 100755 --- a/tests/nvme/030 +++ b/tests/nvme/030 @@ -12,6 +12,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } diff --git a/tests/nvme/031 b/tests/nvme/031 index 3faa4c171cc8..36263ca2379c 100755 --- a/tests/nvme/031 +++ b/tests/nvme/031 @@ -20,6 +20,7 @@ QUICK=1 requires() { _nvme_requires _have_modules loop + _require_nvme_trtype_is_fabrics } test() { diff --git a/tests/nvme/rc b/tests/nvme/rc index 875127d85876..fbd5b66c25d5 100644 --- a/tests/nvme/rc +++ b/tests/nvme/rc @@ -46,6 +46,22 @@ _require_test_dev_is_nvme() { return 0 } +_require_nvme_trtype_is_loop() { + if [[ "${nvme_trtype}" != "loop" ]]; then + SKIP_REASON="nvme_trtype=${nvme_trtype} is not supported in this test" + return 1 + fi + return 0 +} + +_require_nvme_trtype_is_fabrics() { + if [[ "${nvme_trtype}" == "pci" ]]; then + SKIP_REASON="nvme_trtype=${nvme_trtype} is not supported in this test" + return 1 + fi + return 0 +} + _cleanup_nvmet() { local dev local port From patchwork Thu Sep 3 21:26:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sagi Grimberg X-Patchwork-Id: 11755233 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 69AD213B1 for ; Thu, 3 Sep 2020 21:26:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 531D1206EF for ; Thu, 3 Sep 2020 21:26:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728436AbgICV06 (ORCPT ); Thu, 3 Sep 2020 17:26:58 -0400 Received: from mail-wr1-f51.google.com ([209.85.221.51]:42264 "EHLO mail-wr1-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728129AbgICV06 (ORCPT ); Thu, 3 Sep 2020 17:26:58 -0400 Received: by mail-wr1-f51.google.com with SMTP id c18so4676916wrm.9 for ; Thu, 03 Sep 2020 14:26:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=l5f/WhCUB3SYptcds9DMSFGf+leIG0AOF4/byaQGTcA=; b=Kn5I/m9/Agu9H9AkrZNVZyhkuULWQKAyDsJbBphbzN8rDqt6N+H6Ihg2RQkyzaSNvz yPO9wvoKgitAu+X3JCJCbj2xZBeNb1hWF8K2Jn1UxhnRyl5Qv4gmbzuEw5a0fTO0hC+e HVMrgUd8AxRG9hJbAdVM+szJBYc6lY63dPNoEdHSKdt35uY9uLnT9Mpqee/5UqFBTrja FJp9sKFFqof4yiPz0ED4LSNhCFQIVUbROSU+VWoddPVGEs7grfFrrhxvnkU3lUVmF9yn p+9k9b645DfSoOD9wWcTJArK05uXvFW0s56hYbr3R3+iDXjJEcU2c35g9qaOmv0ApP0u fDYQ== X-Gm-Message-State: AOAM531Q2waizS1WW3u7I0QkTtW6gDbhdzrHXDD5WjGTRaguVwNIwR6n I2k2iWgTkugDRdi0sHilEPjFnxbNJT79Aw== X-Google-Smtp-Source: ABdhPJzv4njTtIGWuTyfBWaEa0Cwkmm69k1pCPYv1md415sNYtbKw5ENQbF5xTdJ9lGw+R8wVojZ5w== X-Received: by 2002:adf:f843:: with SMTP id d3mr4782216wrq.226.1599168416288; Thu, 03 Sep 2020 14:26:56 -0700 (PDT) Received: from localhost.localdomain ([2601:647:4802:9070:79a5:e112:bd7c:4b29]) by smtp.gmail.com with ESMTPSA id v204sm6659896wmg.20.2020.09.03.14.26.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Sep 2020 14:26:55 -0700 (PDT) From: Sagi Grimberg To: linux-block@vger.kernel.org, Omar Sandoval Cc: linux-nvme@lists.infradead.org, Logan Gunthorpe , Chaitanya Kulkarni , Keith Busch , Christoph Hellwig Subject: [PATCH v6 5/7] nvme: support nvme-tcp when runinng tests Date: Thu, 3 Sep 2020 14:26:32 -0700 Message-Id: <20200903212634.503227-6-sagi@grimberg.me> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200903212634.503227-1-sagi@grimberg.me> References: <20200903212634.503227-1-sagi@grimberg.me> MIME-Version: 1.0 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org run with: nvme_trtype=tcp ./check nvme Signed-off-by: Sagi Grimberg --- tests/nvme/rc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/nvme/rc b/tests/nvme/rc index fbd5b66c25d5..2b267f1d6ae6 100644 --- a/tests/nvme/rc +++ b/tests/nvme/rc @@ -21,6 +21,10 @@ _nvme_requires() { pci) _have_modules nvme nvme-core ;; + tcp) + _have_modules nvmet nvme-core nvme-tcp nvmet-tcp + _have_configfs + ;; *) SKIP_REASON="unsupported nvme_trtype=${nvme_trtype}" return 1 From patchwork Thu Sep 3 21:26:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sagi Grimberg X-Patchwork-Id: 11755237 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 30843618 for ; Thu, 3 Sep 2020 21:27:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 23167206EF for ; Thu, 3 Sep 2020 21:27:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728127AbgICV1D (ORCPT ); Thu, 3 Sep 2020 17:27:03 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:39743 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726397AbgICV1D (ORCPT ); Thu, 3 Sep 2020 17:27:03 -0400 Received: by mail-wr1-f65.google.com with SMTP id a17so4689771wrn.6 for ; Thu, 03 Sep 2020 14:27:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=E4766iF8tGytH+Vfs6i3/U2RwWmzQyiBC+bGyaYv3Kg=; b=FHJDAkHi0THEC29C3S2hXblf72jhTy1IUQqjKGIReqGDHtHZRuRf9R4O2zUWcfl7hr LmEC2d7W9UZPhrjWvvtf8o3VJOUzheb9EyGOF256stvkzpD5APljt8qhY5KZX/gtzYOD aVvP1KXM+YSrkD8sFHoSkGxUuG7kxDTPg+bKcr5PtG/jNYz7sbLY1C+DSqS+f72ULqja iS1owPKWdVq0slQFfzBeaJ3hiaIvJV4j51nYQb444hgNQXaIw2T0a4uz5poXVqWdo/vJ dZ2e+ohoxVjxRUY14AgXlMs7OVc8GBqHwtm4uK18fM9Th0Y9gL5jc4Q3V3fx+L7cNNzM uyYQ== X-Gm-Message-State: AOAM531xBmNYStwpHGVWt4sz+afuhUNJFAfxQFwgEBNhrpwH9QixVuHp O+qeAK0Jb+IAJuQeBoSZmmLm+stFqezCVA== X-Google-Smtp-Source: ABdhPJyceDLt46BagH2s8kzWgdnGx3zD4M1QfYsC13V+WDOl31FJC06yMWJ3qSl00wSvnewzuwlDlw== X-Received: by 2002:adf:80e3:: with SMTP id 90mr4765291wrl.342.1599168419155; Thu, 03 Sep 2020 14:26:59 -0700 (PDT) Received: from localhost.localdomain ([2601:647:4802:9070:79a5:e112:bd7c:4b29]) by smtp.gmail.com with ESMTPSA id v204sm6659896wmg.20.2020.09.03.14.26.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Sep 2020 14:26:58 -0700 (PDT) From: Sagi Grimberg To: linux-block@vger.kernel.org, Omar Sandoval Cc: linux-nvme@lists.infradead.org, Logan Gunthorpe , Chaitanya Kulkarni , Keith Busch , Christoph Hellwig Subject: [PATCH v6 6/7] common: move module_unload to common Date: Thu, 3 Sep 2020 14:26:33 -0700 Message-Id: <20200903212634.503227-7-sagi@grimberg.me> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200903212634.503227-1-sagi@grimberg.me> References: <20200903212634.503227-1-sagi@grimberg.me> MIME-Version: 1.0 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org It creates a dependency between multipath-over-rdma and test/nvmeof/rc (and test/srp/rc) which is not a natural home for it. Move it to common helpers. Signed-off-by: Sagi Grimberg --- common/rc | 13 +++++++++++++ tests/nvmeof-mp/rc | 13 ------------- tests/srp/rc | 13 ------------- 3 files changed, 13 insertions(+), 26 deletions(-) diff --git a/common/rc b/common/rc index 7f02103dc786..cdc0150ea5ea 100644 --- a/common/rc +++ b/common/rc @@ -291,3 +291,16 @@ _filter_xfs_io_error() { _uptime_s() { awk '{ print int($1) }' /proc/uptime } + +# Arguments: module to unload ($1) and retry count ($2). +unload_module() { + local i m=$1 rc=${2:-1} + + [ ! -e "/sys/module/$m" ] && return 0 + for ((i=rc;i>0;i--)); do + modprobe -r "$m" + [ ! -e "/sys/module/$m" ] && return 0 + sleep .1 + done + return 1 +} diff --git a/tests/nvmeof-mp/rc b/tests/nvmeof-mp/rc index b95adf047a2f..d7a7c878fb19 100755 --- a/tests/nvmeof-mp/rc +++ b/tests/nvmeof-mp/rc @@ -149,19 +149,6 @@ remove_mpath_devs() { } &>> "$FULL" } -# Arguments: module to unload ($1) and retry count ($2). -unload_module() { - local i m=$1 rc=${2:-1} - - [ ! -e "/sys/module/$m" ] && return 0 - for ((i=rc;i>0;i--)); do - modprobe -r "$m" - [ ! -e "/sys/module/$m" ] && return 0 - sleep .1 - done - return 1 -} - start_nvme_client() { modprobe nvme-core dyndbg=+pmf && modprobe nvme dyndbg=+pmf && diff --git a/tests/srp/rc b/tests/srp/rc index 72a3bca3b44d..7fc094b8267f 100755 --- a/tests/srp/rc +++ b/tests/srp/rc @@ -321,19 +321,6 @@ remove_mpath_devs() { } &>> "$FULL" } -# Arguments: module to unload ($1) and retry count ($2). -unload_module() { - local i m=$1 rc=${2:-1} - - [ ! -e "/sys/module/$m" ] && return 0 - for ((i=rc;i>0;i--)); do - modprobe -r "$m" - [ ! -e "/sys/module/$m" ] && return 0 - sleep .1 - done - return 1 -} - # Load the SRP initiator driver with kernel module parameters $1..$n. start_srp_ini() { modprobe scsi_transport_srp || return $? From patchwork Thu Sep 3 21:26:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sagi Grimberg X-Patchwork-Id: 11755239 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4C0A3618 for ; Thu, 3 Sep 2020 21:27:06 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3EE28206E7 for ; Thu, 3 Sep 2020 21:27:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726397AbgICV1F (ORCPT ); Thu, 3 Sep 2020 17:27:05 -0400 Received: from mail-wr1-f49.google.com ([209.85.221.49]:36571 "EHLO mail-wr1-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726891AbgICV1E (ORCPT ); Thu, 3 Sep 2020 17:27:04 -0400 Received: by mail-wr1-f49.google.com with SMTP id z1so4736153wrt.3 for ; Thu, 03 Sep 2020 14:27:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GGRHXecKyEwJ0IWVPv7h1H7Pqf9T7gYv3gOTweg7S7M=; b=kwRrtOqpBLYPLQGAgEfQeBfy3SeFWF8sa3Q1L4VU4S1jM+WxRknMieM3qBdTvwdgVR xmA9M2wgi8dn5138cjlRJ8tLDqnuBO3TF/zVWF/uyPPh32o1x6Qb29ccngBmFPTumUV3 7jt4akVD+ylN6a2tQ4uWeQjMAekAodB0HsCxKJy8LvP4QsDSuODy2M7x/CtMZTd/iJoO niHtM5fj2squWiDTXB03J3gLvrrTxbaUQiVSLSk1+dqLjVH9mmDJSNA+z7F4Rn5Nzdl/ kjVUFbxrDMvtKIFx4Dq0sVZ2LmLXCV33milUf/W8qZEJ95f/yKWFVQlPoFwdZ+EbrKI9 82yg== X-Gm-Message-State: AOAM531szImw46POB+9wm9fOWj1uOjCewBB75jOO0P/Au9IdBAis5FnX v1l4Wrho8eO0aRW1X4hvMpUtBqEcG4aBWw== X-Google-Smtp-Source: ABdhPJxinPpGoWsLe2zb2myMj8nVc+8JdhOke0PrCJPRy4WkxwnKGhX/oAF1zjom+G5P/vC6vfwQxQ== X-Received: by 2002:adf:db48:: with SMTP id f8mr3269083wrj.144.1599168422212; Thu, 03 Sep 2020 14:27:02 -0700 (PDT) Received: from localhost.localdomain ([2601:647:4802:9070:79a5:e112:bd7c:4b29]) by smtp.gmail.com with ESMTPSA id v204sm6659896wmg.20.2020.09.03.14.26.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Sep 2020 14:27:01 -0700 (PDT) From: Sagi Grimberg To: linux-block@vger.kernel.org, Omar Sandoval Cc: linux-nvme@lists.infradead.org, Logan Gunthorpe , Chaitanya Kulkarni , Keith Busch , Christoph Hellwig Subject: [PATCH v6 7/7] nvme: support rdma transport type Date: Thu, 3 Sep 2020 14:26:34 -0700 Message-Id: <20200903212634.503227-8-sagi@grimberg.me> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200903212634.503227-1-sagi@grimberg.me> References: <20200903212634.503227-1-sagi@grimberg.me> MIME-Version: 1.0 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org Signed-off-by: Sagi Grimberg --- tests/nvme/rc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/nvme/rc b/tests/nvme/rc index 2b267f1d6ae6..009621eee634 100644 --- a/tests/nvme/rc +++ b/tests/nvme/rc @@ -5,6 +5,7 @@ # Test specific to NVMe devices . common/rc +. common/multipath-over-rdma def_traddr="127.0.0.1" def_adrfam="ipv4" @@ -25,6 +26,12 @@ _nvme_requires() { _have_modules nvmet nvme-core nvme-tcp nvmet-tcp _have_configfs ;; + rdma) + _have_modules nvmet nvme-core nvme-rdma nvmet-rdma + _have_configfs + _have_program rdma + _have_modules rdma_rxe || _have_modules siw + ;; *) SKIP_REASON="unsupported nvme_trtype=${nvme_trtype}" return 1 @@ -115,6 +122,9 @@ _cleanup_nvmet() { modprobe -r nvmet-"${nvme_trtype}" 2>/dev/null fi modprobe -r nvmet 2>/dev/null + if [[ "${nvme_trtype}" == "rdma" ]]; then + stop_soft_rdma + fi } _setup_nvmet() { @@ -124,6 +134,16 @@ _setup_nvmet() { modprobe nvmet-"${nvme_trtype}" fi modprobe nvme-"${nvme_trtype}" + if [[ "${nvme_trtype}" == "rdma" ]]; then + start_soft_rdma + for i in $(rdma_network_interfaces) + do + ipv4_addr=$(get_ipv4_addr "$i") + if [ -n "${ipv4_addr}" ]; then + def_traddr=${ipv4_addr} + fi + done + fi } _nvme_disconnect_ctrl() {