Thread (19 messages) 19 messages, 6 authors, 2026-03-27

Re: [PATCH v3] nvme: Add nvme_setup_cmd to host_path_error

From: Keith Busch <kbusch@kernel.org>
Date: 2026-03-25 19:03:44
Also in: asahi, linux-nvme, lkml

On Wed, Mar 25, 2026 at 11:37:44AM -0700, Justin Tee wrote:
quoted
- After
nvme_setup_cmd: \
nvme0: qid=0, cmdid=32777, nsid=0, flags=0x0, meta=0x0, \
cmd=(nvme_admin_identify cns=1, ctrlid=0)
nvme_complete_rq: \
nvme0: qid=0, cmdid=32777, res=0x0, retries=0, flags=0x2, status=0x370
quoted
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 766e9cc4ffca..378d28b2c971 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -512,6 +512,7 @@ EXPORT_SYMBOL_GPL(nvme_complete_batch_req);
blk_status_t nvme_host_path_error(struct request *req)
{
        nvme_req(req)->status = NVME_SC_HOST_PATH_ERROR;
+       nvme_setup_cmd(req->q->queuedata, req);
        blk_mq_set_request_complete(req);
        nvme_complete_rq(req);
        return BLK_STS_OK;
Since trace_nvme_complete_rq is printing only cmdid to help identify
the command, why not define a new TRACE_EVENT(nvme_host_path_error,
...) in trace.h instead?
Why are we even tracing the completion? I agree the completion without a
submission is confusing, but why don't we just skip tracing the
completion in this condition? The idea for these trace events was to
match up commands dispatched to hardware with the hardware's
posted response, so I'm not sure what value we get by synthesizing both
sides of the events.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help