[PATCH V4 0/4] nvmet: admin-cmd related cleanups and a fix

Chaitanya Kulkarni chaitanya.kulkarni at wdc.com
Wed Jan 13 20:33:50 EST 2021


Hi,

There are three functions where local variable ns is used instead of
using req->ns which leads to duplicate nvmet_put_namespace() calls.
We can just use req->ns and not the local variable to avoid duplicate
calls.

The first patch sets the right error status code when namespace is not
found in nvmet_execute_identify_ns().

I've tested this series with nvme blktests, all the testcases are
passing.

-ck

Changes from V3:-

1. Don't copy zeroed buffer in case of invalid ns for id-ns handler.
2. Remove the out label in smart log nsid.

Changes from V2:-

1. Rebase and retest on the latest nvme-5.11.
2. Add ns status error patch at the front of the series.

Changes from V1:-

1. Rebase and retest on the latest nvme-5.11.

Chaitanya Kulkarni (4):
  nvmet: set right status on error in id-ns handler
  nvmet: remove extra variable in smart log nsid
  nvmet: remove extra variable in id-desclist
  nvmet: remove extra variable in identify ns

 drivers/nvme/target/admin-cmd.c | 77 ++++++++++++++++-----------------
 1 file changed, 38 insertions(+), 39 deletions(-)

#./check tests/nvme
nvme/002 (create many subsystems and test discovery)         [passed]
    runtime    ...  27.652s
nvme/003 (test if we're sending keep-alives to a discovery controller) [passed]
    runtime  10.136s  ...  10.137s
nvme/004 (test nvme and nvmet UUID NS descriptors)           [passed]
    runtime  1.730s  ...  1.691s
nvme/005 (reset local loopback target)                       [not run]
    nvme_core module does not have parameter multipath
nvme/006 (create an NVMeOF target with a block device-backed ns) [passed]
    runtime  0.113s  ...  0.114s
nvme/007 (create an NVMeOF target with a file-backed ns)     [passed]
    runtime  0.074s  ...  0.080s
nvme/008 (create an NVMeOF host with a block device-backed ns) [passed]
    runtime  1.720s  ...  1.703s
nvme/009 (create an NVMeOF host with a file-backed ns)       [passed]
    runtime  1.683s  ...  1.653s
nvme/010 (run data verification fio job on NVMeOF block device-backed ns) [passed]
    runtime  25.213s  ...  26.554s
nvme/011 (run data verification fio job on NVMeOF file-backed ns) [passed]
    runtime  257.846s  ...  235.864s
nvme/012 (run mkfs and data verification fio job on NVMeOF block device-backed ns) [passed]
    runtime  47.453s  ...  51.182s
nvme/013 (run mkfs and data verification fio job on NVMeOF file-backed ns) [passed]
    runtime  249.408s  ...  273.498s
nvme/014 (flush a NVMeOF block device-backed ns)             [passed]
    runtime  22.446s  ...  21.439s
nvme/015 (unit test for NVMe flush for file backed ns)       [passed]
    runtime  18.614s  ...  19.769s
nvme/016 (create/delete many NVMeOF block device-backed ns and test discovery) [passed]
    runtime  16.945s  ...  16.443s
nvme/017 (create/delete many file-ns and test discovery)     [passed]
    runtime  17.179s  ...  17.091s
nvme/018 (unit test NVMe-oF out of range access on a file backend) [passed]
    runtime  1.676s  ...  1.678s
nvme/019 (test NVMe DSM Discard command on NVMeOF block-device ns) [passed]
    runtime  1.701s  ...  1.713s
nvme/020 (test NVMe DSM Discard command on NVMeOF file-backed ns) [passed]
    runtime  1.662s  ...  1.665s
nvme/021 (test NVMe list command on NVMeOF file-backed ns)   [passed]
    runtime  1.666s  ...  1.657s
nvme/022 (test NVMe reset command on NVMeOF file-backed ns)  [passed]
    runtime  2.099s  ...  2.075s
nvme/023 (test NVMe smart-log command on NVMeOF block-device ns) [passed]
    runtime  1.699s  ...  1.687s
nvme/024 (test NVMe smart-log command on NVMeOF file-backed ns) [passed]
    runtime  1.659s  ...  1.667s
nvme/025 (test NVMe effects-log command on NVMeOF file-backed ns) [passed]
    runtime  1.649s  ...  1.651s
nvme/026 (test NVMe ns-descs command on NVMeOF file-backed ns) [passed]
    runtime  1.658s  ...  1.665s
nvme/027 (test NVMe ns-rescan command on NVMeOF file-backed ns) [passed]
    runtime  1.665s  ...  1.660s
nvme/028 (test NVMe list-subsys command on NVMeOF file-backed ns) [passed]
    runtime  1.663s  ...  1.660s
nvme/029 (test userspace IO via nvme-cli read/write interface) [passed]
    runtime  2.025s  ...  2.037s
nvme/030 (ensure the discovery generation counter is updated appropriately) [passed]
    runtime  0.317s  ...  0.313s
nvme/031 (test deletion of NVMeOF controllers immediately after setup) [passed]
    runtime  5.559s  ...  5.553s
nvme/038 (test deletion of NVMeOF subsystem without enabling) [passed]
    runtime  0.046s  ...  0.044s

# gitlog -5
6f388312bf5b (HEAD -> nvme-5.11) nvmet: remove extra variable in identify ns
733d50382d90 nvmet: remove extra variable in id-desclist
d982b2b03fc0 nvmet: remove extra variable in smart log nsid
4a458a76be0e nvmet: set right status on error in id-ns handler
239055c858f5 Merge branch 'nvme-5.11' of git://git.infradead.org/nvme into nvme-5.11

-- 
2.22.1




More information about the Linux-nvme mailing list