mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Daniel Wagner <dwagner@suse.de>
To: linux-nvme@lists.infradead.org
Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org,
	Chaitanya Kulkarni <kch@nvidia.com>,
	Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>,
	Max Gurtovoy <mgurtovoy@nvidia.com>,
	Hannes Reinecke <hare@suse.de>, Sagi Grimberg <sagi@grimberg.me>,
	James Smart <jsmart2021@gmail.com>,
	Bart Van Assche <bvanassche@acm.org>,
	Daniel Wagner <dwagner@suse.de>
Subject: [PATCH blktests v2 00/12] Switch to allowed_host
Date: Thu, 10 Aug 2023 13:13:05 +0200	[thread overview]
Message-ID: <20230810111317.25273-1-dwagner@suse.de> (raw)

I've updated the series accoring the feedback. Also added the mentioned
_nvmet_target_{setup|cleanup} helpers which reduced a lot of code.
Roughly 350 lines code less after the refactoring.

Maybe it's possible to refactor even more, e.g. this snippet


	local nvmedev
	nvmedev=$(_find_nvme_dev "${def_subsysnqn}")
	cat "/sys/block/${nvmedev}n1/uuid"
	cat "/sys/block/${nvmedev}n1/wwid"

could be moved into _nvme_connect_subsys(). Though there are quiet a few tests
which want the nvmedev later on for something like

	_run_fio_verify_io --size="${nvme_img_size}" \
		--filename="/dev/${nvmedev}n1"

So we could return the nvmedev from _nvme_connect_subsys() but I don't know if
this a good idea. FWIW, it would also fix the current problem we face with
nvme/047 which seems to lack the second _find_nvme_dev() call.


original cover letter:

Max asked me to replace replace the 'nvme/rc: Avoid triggering host nvme-cli
autoconnect' feature with using allowed_host on the target side [1]

So while looking into this new feature, I first started to refactor existing
code so that it looks a bit more consistent. I think there is even more
potential to make it smaller, by introducing something similiar to
_nvmet_passthru_target_setup() and _nvmet_passthru_target_cleanup() for non
passthru tests. A lot of duplicated setup/cleanup code in many tests.

Except the last two patches are just refactoring patches. So if we decide to use
common target setup/cleanup helpers, I think we could add them before the last
two patches, which would make the last patch way smaller.

Daniel

[1] https://lore.kernel.org/all/4b17be94-d068-f026-756f-59208075e254@nvidia.com/

changes:
v2:
 - updated commit messages
 - moved the removal of subsys_name to the right patch
 - added _nvmet_target_{setup|cleanup} helpers
   this addresses also the 'appears unused' warning by ShellCheck

v1:
 - initial version
   https://lore.kernel.org/linux-nvme/20230726124644.12619-1-dwagner@suse.de/

Daniel Wagner (12):
  nvme/{003,004,005,013,046,049}: Group all variables declarations
  nvme: Reorganize test preamble code section
  nvme/rc: Add common subsystem nqn define
  nvme: Use def_subsysnqn variable instead local variable
  nvme/{041,042,043,044,045,048}: Remove local variable hostnqn and
    hostid
  nvme/rc: Add common file_path name define
  nvme: Use def_file_path variable instead local variable
  nvme/rc: Add common def_subsys_uuid define
  nvme: Use def_subsys_uuid variable
  nvme/rc: Add helper for adding/removing to allow list
  nvme: Add explicitly host to allow_host list
  nvme: Introduce nvmet_target_{setup/cleanup} common code

 tests/nvme/003 | 12 ++-----
 tests/nvme/004 | 23 ++++---------
 tests/nvme/005 | 22 +++---------
 tests/nvme/006 | 21 ++----------
 tests/nvme/007 | 19 ++---------
 tests/nvme/008 | 26 +++------------
 tests/nvme/009 | 21 +++---------
 tests/nvme/010 | 26 +++------------
 tests/nvme/011 | 22 +++---------
 tests/nvme/012 | 26 +++------------
 tests/nvme/013 | 22 +++---------
 tests/nvme/014 | 26 +++------------
 tests/nvme/015 | 21 +++---------
 tests/nvme/016 | 17 +++++-----
 tests/nvme/017 | 26 ++++++---------
 tests/nvme/018 | 21 +++---------
 tests/nvme/019 | 26 +++------------
 tests/nvme/020 | 21 +++---------
 tests/nvme/021 | 21 +++---------
 tests/nvme/022 | 21 +++---------
 tests/nvme/023 | 26 +++------------
 tests/nvme/024 | 21 +++---------
 tests/nvme/025 | 21 +++---------
 tests/nvme/026 | 21 +++---------
 tests/nvme/027 | 20 +++--------
 tests/nvme/028 | 20 +++--------
 tests/nvme/029 | 26 +++------------
 tests/nvme/030 | 19 ++++++-----
 tests/nvme/031 | 14 ++++----
 tests/nvme/033 |  9 ++---
 tests/nvme/034 |  9 ++---
 tests/nvme/035 |  9 ++---
 tests/nvme/036 |  9 ++---
 tests/nvme/037 |  8 ++---
 tests/nvme/038 |  6 ++--
 tests/nvme/039 |  4 +--
 tests/nvme/040 | 28 +++++-----------
 tests/nvme/041 | 49 +++++++++------------------
 tests/nvme/042 | 55 ++++++++++--------------------
 tests/nvme/043 | 52 ++++++++++-------------------
 tests/nvme/044 | 71 +++++++++++++++------------------------
 tests/nvme/045 | 62 ++++++++++++----------------------
 tests/nvme/046 |  1 +
 tests/nvme/047 | 30 ++++-------------
 tests/nvme/048 | 42 +++++++----------------
 tests/nvme/049 |  1 +
 tests/nvme/rc  | 90 +++++++++++++++++++++++++++++++++++++++++++++++---
 47 files changed, 398 insertions(+), 765 deletions(-)

-- 
2.41.0


             reply	other threads:[~2023-08-10 11:13 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-10 11:13 Daniel Wagner [this message]
2023-08-10 11:13 ` [PATCH blktests v2 01/12] nvme/{003,004,005,013,046,049}: Group all variables declarations Daniel Wagner
2023-08-10 11:13 ` [PATCH blktests v2 02/12] nvme: Reorganize test preamble code section Daniel Wagner
2023-08-10 11:13 ` [PATCH blktests v2 03/12] nvme/rc: Add common subsystem nqn define Daniel Wagner
2023-08-10 11:13 ` [PATCH blktests v2 04/12] nvme: Use def_subsysnqn variable instead local variable Daniel Wagner
2023-08-10 11:13 ` [PATCH blktests v2 05/12] nvme/{041,042,043,044,045,048}: Remove local variable hostnqn and hostid Daniel Wagner
2023-08-11  6:02   ` Shinichiro Kawasaki
2023-08-10 11:13 ` [PATCH blktests v2 06/12] nvme/rc: Add common file_path name define Daniel Wagner
2023-08-10 11:13 ` [PATCH blktests v2 07/12] nvme: Use def_file_path variable instead local variable Daniel Wagner
2023-08-10 11:13 ` [PATCH blktests v2 08/12] nvme/rc: Add common def_subsys_uuid define Daniel Wagner
2023-08-10 11:13 ` [PATCH blktests v2 09/12] nvme: Use def_subsys_uuid variable Daniel Wagner
2023-08-10 11:13 ` [PATCH blktests v2 10/12] nvme/rc: Add helper for adding/removing to allow list Daniel Wagner
2023-08-11  6:04   ` Shinichiro Kawasaki
2023-08-10 11:13 ` [PATCH blktests v2 11/12] nvme: Add explicitly host to allow_host list Daniel Wagner
2023-08-10 11:13 ` [PATCH blktests v2 12/12] nvme: Introduce nvmet_target_{setup/cleanup} common code Daniel Wagner
2023-08-11  6:16 ` [PATCH blktests v2 00/12] Switch to allowed_host Shinichiro Kawasaki
2023-08-11  7:00   ` Daniel Wagner
2023-08-17  2:55     ` Shinichiro Kawasaki
2023-08-17  8:22       ` Daniel Wagner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230810111317.25273-1-dwagner@suse.de \
    --to=dwagner@suse.de \
    --cc=bvanassche@acm.org \
    --cc=hare@suse.de \
    --cc=jsmart2021@gmail.com \
    --cc=kch@nvidia.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=mgurtovoy@nvidia.com \
    --cc=sagi@grimberg.me \
    --cc=shinichiro.kawasaki@wdc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®