[PATCH 0/6] nvmet: cleanup and status, error log fix
Chaitanya Kulkarni
chaitanya.kulkarni at wdc.com
Tue Feb 16 16:31:06 EST 2021
Hi,
This removes duplicate status value assignments, unnecessary function
parameters and fixes the error log page update.
Since the current nvme-5.12 is broken I've tested this series with the
debug diff which is listed in the test report along with the blktests.
-ck
Chaitanya Kulkarni (6):
nvmet: remove duplicate status assignment
nvmet: set status on actual error condition
nvmet: check and set the right err location
nvmet: remove unnecessary function parameters
nvmet: remove unnecessary function parameter
nvmet: remove unnecessary function parameters
drivers/nvme/target/admin-cmd.c | 2 +-
drivers/nvme/target/core.c | 58 +++++++++++++++----------------
drivers/nvme/target/fabrics-cmd.c | 18 +++++-----
drivers/nvme/target/nvmet.h | 10 +++---
4 files changed, 43 insertions(+), 45 deletions(-)
# ./compile_nvme.sh
+ umount /mnt/nvme0n1
+ clear_dmesg
umount: /mnt/nvme0n1: not mounted
+ modprobe -r nvme-fabrics
+ modprobe -r nvme_loop
+ modprobe -r nvmet
+ modprobe -r nvme
+ sleep 1
+ modprobe -r nvme-core
+ lsmod
+ grep nvme
+ git diff
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index d77f3f26d8d3..cedf704adac6 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -1167,7 +1167,8 @@ static int nvme_submit_user_cmd(struct request_queue *q,
if (ret)
goto out;
bio = req->bio;
- bio_set_dev(bio, bdev);
+ if(bdev)
+ bio_set_dev(bio, bdev);
if (bdev && meta_buffer && meta_len) {
meta = nvme_add_user_metadata(bio, meta_buffer, meta_len,
meta_seed, write);
diff --git a/drivers/nvme/target/loop.c b/drivers/nvme/target/loop.c
index cb6f86572b24..38fffee6b85e 100644
--- a/drivers/nvme/target/loop.c
+++ b/drivers/nvme/target/loop.c
@@ -688,7 +688,8 @@ static struct nvmf_transport_ops nvme_loop_transport = {
.name = "loop",
.module = THIS_MODULE,
.create_ctrl = nvme_loop_create_ctrl,
- .allowed_opts = NVMF_OPT_TRADDR,
+ .allowed_opts = NVMF_OPT_TRADDR | NVMF_OPT_CTRL_LOSS_TMO,
+
};
static int __init nvme_loop_init_module(void)
++ nproc
+ make -j 64 M=drivers/nvme/ modules
CC [M] drivers/nvme//target/configfs.o
CC [M] drivers/nvme//target/core.o
CC [M] drivers/nvme//target/admin-cmd.o
CC [M] drivers/nvme//target/fabrics-cmd.o
CC [M] drivers/nvme//target/discovery.o
CC [M] drivers/nvme//target/io-cmd-file.o
CC [M] drivers/nvme//target/io-cmd-bdev.o
CC [M] drivers/nvme//host/core.o
CC [M] drivers/nvme//target/passthru.o
CC [M] drivers/nvme//target/trace.o
CC [M] drivers/nvme//host/trace.o
CC [M] drivers/nvme//host/lightnvm.o
CC [M] drivers/nvme//target/rdma.o
CC [M] drivers/nvme//target/loop.o
CC [M] drivers/nvme//host/zns.o
CC [M] drivers/nvme//host/hwmon.o
CC [M] drivers/nvme//target/fc.o
CC [M] drivers/nvme//target/fcloop.o
CC [M] drivers/nvme//host/pci.o
CC [M] drivers/nvme//target/tcp.o
CC [M] drivers/nvme//host/fabrics.o
CC [M] drivers/nvme//host/rdma.o
CC [M] drivers/nvme//host/fc.o
CC [M] drivers/nvme//host/tcp.o
LD [M] drivers/nvme//target/nvme-loop.o
LD [M] drivers/nvme//target/nvme-fcloop.o
LD [M] drivers/nvme//host/nvme-fabrics.o
LD [M] drivers/nvme//target/nvmet-tcp.o
LD [M] drivers/nvme//host/nvme.o
LD [M] drivers/nvme//target/nvmet-rdma.o
LD [M] drivers/nvme//host/nvme-tcp.o
LD [M] drivers/nvme//target/nvmet.o
LD [M] drivers/nvme//target/nvmet-fc.o
LD [M] drivers/nvme//host/nvme-rdma.o
LD [M] drivers/nvme//host/nvme-fc.o
LD [M] drivers/nvme//host/nvme-core.o
MODPOST drivers/nvme//Module.symvers
LD [M] drivers/nvme//host/nvme-core.ko
LD [M] drivers/nvme//host/nvme-fabrics.ko
LD [M] drivers/nvme//host/nvme-fc.ko
LD [M] drivers/nvme//host/nvme-rdma.ko
LD [M] drivers/nvme//host/nvme-tcp.ko
LD [M] drivers/nvme//host/nvme.ko
CC [M] drivers/nvme//target/nvme-fcloop.mod.o
CC [M] drivers/nvme//target/nvme-loop.mod.o
CC [M] drivers/nvme//target/nvmet-fc.mod.o
CC [M] drivers/nvme//target/nvmet-rdma.mod.o
CC [M] drivers/nvme//target/nvmet-tcp.mod.o
CC [M] drivers/nvme//target/nvmet.mod.o
LD [M] drivers/nvme//target/nvmet.ko
LD [M] drivers/nvme//target/nvme-loop.ko
LD [M] drivers/nvme//target/nvmet-rdma.ko
LD [M] drivers/nvme//target/nvme-fcloop.ko
LD [M] drivers/nvme//target/nvmet-tcp.ko
LD [M] drivers/nvme//target/nvmet-fc.ko
+ HOST=drivers/nvme/host
+ TARGET=drivers/nvme/target
++ uname -r
+ HOST_DEST=/lib/modules/5.11.0-rc5nvme+/kernel/drivers/nvme/host/
++ uname -r
+ TARGET_DEST=/lib/modules/5.11.0-rc5nvme+/kernel/drivers/nvme/target/
+ cp drivers/nvme/host/nvme-core.ko drivers/nvme/host/nvme-fabrics.ko drivers/nvme/host/nvme-fc.ko drivers/nvme/host/nvme.ko drivers/nvme/host/nvme-rdma.ko drivers/nvme/host/nvme-tcp.ko /lib/modules/5.11.0-rc5nvme+/kernel/drivers/nvme/host//
+ cp drivers/nvme/target/nvme-fcloop.ko drivers/nvme/target/nvme-loop.ko drivers/nvme/target/nvmet-fc.ko drivers/nvme/target/nvmet.ko drivers/nvme/target/nvmet-rdma.ko drivers/nvme/target/nvmet-tcp.ko /lib/modules/5.11.0-rc5nvme+/kernel/drivers/nvme/target//
+ ls -lrth /lib/modules/5.11.0-rc5nvme+/kernel/drivers/nvme/host/ /lib/modules/5.11.0-rc5nvme+/kernel/drivers/nvme/target//
/lib/modules/5.11.0-rc5nvme+/kernel/drivers/nvme/host/:
total 8.0M
-rw-r--r--. 1 root root 3.0M Feb 16 12:45 nvme-core.ko
-rw-r--r--. 1 root root 643K Feb 16 12:45 nvme-fabrics.ko
-rw-r--r--. 1 root root 1.2M Feb 16 12:45 nvme-fc.ko
-rw-r--r--. 1 root root 1.1M Feb 16 12:45 nvme.ko
-rw-r--r--. 1 root root 1.2M Feb 16 12:45 nvme-rdma.ko
-rw-r--r--. 1 root root 1.1M Feb 16 12:45 nvme-tcp.ko
/lib/modules/5.11.0-rc5nvme+/kernel/drivers/nvme/target//:
total 8.2M
-rw-r--r--. 1 root root 712K Feb 16 12:45 nvme-fcloop.ko
-rw-r--r--. 1 root root 619K Feb 16 12:45 nvme-loop.ko
-rw-r--r--. 1 root root 1.1M Feb 16 12:45 nvmet-fc.ko
-rw-r--r--. 1 root root 4.0M Feb 16 12:45 nvmet.ko
-rw-r--r--. 1 root root 1.1M Feb 16 12:45 nvmet-rdma.ko
-rw-r--r--. 1 root root 852K Feb 16 12:45 nvmet-tcp.ko
+ modprobe nvme
gitlog -7
7f0c29a24505 (HEAD -> nvme-5.12) nvmet: remove unnecessary function parameters
e8e1ea8fb333 nvmet: remove unnecessary function parameter
f169254686f6 nvmet: remove unnecessary function parameters
fc38bf1595ce nvmet: check and set the right err location
9b176efea50a nvmet: set status on actual error condition
0384837a4690 nvmet: remove duplicate status assignment
9bb31b0ab2e3 Merge branch 'nvme-5.12' of git://git.infradead.org/nvme into nvme-5.12
# cdblktests
# ./check nvme
nvme/002 (create many subsystems and test discovery) [passed]
runtime 35.423s ... 36.789s
nvme/003 (test if we're sending keep-alives to a discovery controller) [passed]
runtime 10.159s ... 10.177s
nvme/004 (test nvme and nvmet UUID NS descriptors) [passed]
runtime 1.808s ... 1.743s
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.126s ... 0.141s
nvme/007 (create an NVMeOF target with a file-backed ns) [passed]
runtime 0.098s ... 0.096s
nvme/008 (create an NVMeOF host with a block device-backed ns) [passed]
runtime 1.777s ... 1.756s
nvme/009 (create an NVMeOF host with a file-backed ns) [passed]
runtime 1.727s ... 1.709s
nvme/010 (run data verification fio job on NVMeOF block device-backed ns) [passed]
runtime 29.228s ... 19.931s
nvme/011 (run data verification fio job on NVMeOF file-backed ns) [passed]
runtime 199.625s ... 267.604s
nvme/012 (run mkfs and data verification fio job on NVMeOF block device-backed ns) [passed]
runtime 72.525s ... 49.320s
nvme/013 (run mkfs and data verification fio job on NVMeOF file-backed ns) [passed]
runtime ... 335.511s
nvme/014 (flush a NVMeOF block device-backed ns) [passed]
runtime 20.695s ... 21.308s
nvme/015 (unit test for NVMe flush for file backed ns) [passed]
runtime 22.596s ... 21.888s
nvme/016 (create/delete many NVMeOF block device-backed ns and test discovery) [passed]
runtime 16.349s ... 19.097s
nvme/017 (create/delete many file-ns and test discovery) [passed]
runtime 15.889s ... 19.393s
nvme/018 (unit test NVMe-oF out of range access on a file backend) [passed]
runtime 1.655s ... 1.718s
nvme/019 (test NVMe DSM Discard command on NVMeOF block-device ns) [passed]
runtime 1.718s ... 1.747s
nvme/020 (test NVMe DSM Discard command on NVMeOF file-backed ns) [passed]
runtime 1.662s ... 1.700s
nvme/021 (test NVMe list command on NVMeOF file-backed ns) [passed]
runtime 1.713s ... 1.702s
nvme/022 (test NVMe reset command on NVMeOF file-backed ns) [passed]
runtime 2.100s ... 2.131s
nvme/023 (test NVMe smart-log command on NVMeOF block-device ns) [passed]
runtime 1.711s ... 1.739s
nvme/024 (test NVMe smart-log command on NVMeOF file-backed ns) [passed]
runtime 1.663s ... 1.708s
nvme/025 (test NVMe effects-log command on NVMeOF file-backed ns) [passed]
runtime 1.666s ... 1.692s
nvme/026 (test NVMe ns-descs command on NVMeOF file-backed ns) [passed]
runtime 1.652s ... 1.798s
nvme/027 (test NVMe ns-rescan command on NVMeOF file-backed ns) [passed]
runtime 1.650s ... 1.713s
nvme/028 (test NVMe list-subsys command on NVMeOF file-backed ns) [passed]
runtime 1.648s ... 1.695s
nvme/029 (test userspace IO via nvme-cli read/write interface) [passed]
runtime 2.011s ... 2.168s
nvme/030 (ensure the discovery generation counter is updated appropriately) [passed]
runtime 0.310s ... 0.379s
nvme/031 (test deletion of NVMeOF controllers immediately after setup) [passed]
runtime 5.474s ... 5.774s
nvme/038 (test deletion of NVMeOF subsystem without enabling) [passed]
runtime 0.043s ... 0.051s
--
2.22.1
More information about the Linux-nvme
mailing list