From afefd815ca852f11ac3e6b1c9501d063d0a276c1 Mon Sep 17 00:00:00 2001 From: Jacek Kalwas Date: Sat, 4 Jul 2020 21:23:24 +0200 Subject: [PATCH] nvmf: use nvme print command Signed-off-by: Jacek Kalwas Change-Id: I22747fb342d2e50f40a3bae4f930957f755a97fd Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3202 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Tomasz Zawadzki Reviewed-by: Shuhei Matsumoto --- lib/nvmf/ctrlr.c | 48 ++------------------------- test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c | 2 ++ test/unit/lib/nvmf/tcp.c/tcp_ut.c | 2 ++ 3 files changed, 7 insertions(+), 45 deletions(-) diff --git a/lib/nvmf/ctrlr.c b/lib/nvmf/ctrlr.c index d17b871fc..e6463ebab 100644 --- a/lib/nvmf/ctrlr.c +++ b/lib/nvmf/ctrlr.c @@ -2966,50 +2966,6 @@ spdk_nvmf_request_complete(struct spdk_nvmf_request *req) return 0; } -static void -nvmf_trace_command(union nvmf_h2c_msg *h2c_msg, bool is_admin_queue) -{ - struct spdk_nvmf_capsule_cmd *cap_hdr = &h2c_msg->nvmf_cmd; - struct spdk_nvme_cmd *cmd = &h2c_msg->nvme_cmd; - struct spdk_nvme_sgl_descriptor *sgl = &cmd->dptr.sgl1; - uint8_t opc; - - if (cmd->opc == SPDK_NVME_OPC_FABRIC) { - opc = cap_hdr->fctype; - SPDK_DEBUGLOG(SPDK_LOG_NVMF, "%s Fabrics cmd: fctype 0x%02x cid %u\n", - is_admin_queue ? "Admin" : "I/O", - cap_hdr->fctype, cap_hdr->cid); - } else { - opc = cmd->opc; - SPDK_DEBUGLOG(SPDK_LOG_NVMF, "%s cmd: opc 0x%02x fuse %u cid %u nsid %u cdw10 0x%08x\n", - is_admin_queue ? "Admin" : "I/O", - cmd->opc, cmd->fuse, cmd->cid, cmd->nsid, cmd->cdw10); - if (cmd->mptr) { - SPDK_DEBUGLOG(SPDK_LOG_NVMF, "mptr 0x%" PRIx64 "\n", cmd->mptr); - } - if (cmd->psdt != SPDK_NVME_PSDT_SGL_MPTR_CONTIG && - cmd->psdt != SPDK_NVME_PSDT_SGL_MPTR_SGL) { - SPDK_DEBUGLOG(SPDK_LOG_NVMF, "psdt %u\n", cmd->psdt); - } - } - - if (spdk_nvme_opc_get_data_transfer(opc) != SPDK_NVME_DATA_NONE) { - if (sgl->generic.type == SPDK_NVME_SGL_TYPE_KEYED_DATA_BLOCK) { - SPDK_DEBUGLOG(SPDK_LOG_NVMF, - "SGL: Keyed%s: addr 0x%" PRIx64 " key 0x%x len 0x%x\n", - sgl->generic.subtype == SPDK_NVME_SGL_SUBTYPE_INVALIDATE_KEY ? " (Inv)" : "", - sgl->address, sgl->keyed.key, sgl->keyed.length); - } else if (sgl->generic.type == SPDK_NVME_SGL_TYPE_DATA_BLOCK) { - SPDK_DEBUGLOG(SPDK_LOG_NVMF, "SGL: Data block: %s 0x%" PRIx64 " len 0x%x\n", - sgl->unkeyed.subtype == SPDK_NVME_SGL_SUBTYPE_OFFSET ? "offs" : "addr", - sgl->address, sgl->unkeyed.length); - } else { - SPDK_DEBUGLOG(SPDK_LOG_NVMF, "SGL type 0x%x subtype 0x%x\n", - sgl->generic.type, sgl->generic.subtype); - } - } -} - static void _nvmf_request_exec(struct spdk_nvmf_request *req, struct spdk_nvmf_subsystem_poll_group *sgroup) @@ -3017,7 +2973,9 @@ _nvmf_request_exec(struct spdk_nvmf_request *req, struct spdk_nvmf_qpair *qpair = req->qpair; enum spdk_nvmf_request_exec_status status; - nvmf_trace_command(req->cmd, nvmf_qpair_is_admin_queue(qpair)); + if (SPDK_DEBUGLOG_FLAG_ENABLED("nvmf")) { + spdk_nvme_print_command(qpair->qid, &req->cmd->nvme_cmd); + } if (sgroup) { sgroup->io_outstanding++; diff --git a/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c b/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c index 5e7c2cba4..1b54df7b0 100644 --- a/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c +++ b/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c @@ -182,6 +182,8 @@ DEFINE_STUB(nvmf_bdev_ctrlr_get_dif_ctx, bool, DEFINE_STUB_V(nvmf_transport_qpair_abort_request, (struct spdk_nvmf_qpair *qpair, struct spdk_nvmf_request *req)); +DEFINE_STUB_V(spdk_nvme_print_command, (uint16_t qid, struct spdk_nvme_cmd *cmd)); + int spdk_nvmf_qpair_disconnect(struct spdk_nvmf_qpair *qpair, nvmf_qpair_disconnect_cb cb_fn, void *ctx) { diff --git a/test/unit/lib/nvmf/tcp.c/tcp_ut.c b/test/unit/lib/nvmf/tcp.c/tcp_ut.c index ccec90c51..cd230ebea 100644 --- a/test/unit/lib/nvmf/tcp.c/tcp_ut.c +++ b/test/unit/lib/nvmf/tcp.c/tcp_ut.c @@ -209,6 +209,8 @@ DEFINE_STUB_V(spdk_nvmf_tgt_new_qpair, (struct spdk_nvmf_tgt *tgt, struct spdk_n DEFINE_STUB_V(nvmf_transport_qpair_abort_request, (struct spdk_nvmf_qpair *qpair, struct spdk_nvmf_request *req)); +DEFINE_STUB_V(spdk_nvme_print_command, (uint16_t qid, struct spdk_nvme_cmd *cmd)); + struct spdk_trace_histories *g_trace_histories; struct spdk_bdev {