git: 95cd10f13971 - main - nvme: Add comments about other fields in status
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 07 Aug 2023 22:45:43 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=95cd10f13971ef2f035f07c9bda14fb094edc0b3
commit 95cd10f13971ef2f035f07c9bda14fb094edc0b3
Author: Warner Losh <imp@FreeBSD.org>
AuthorDate: 2023-08-07 22:36:14 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-08-07 22:44:31 +0000
nvme: Add comments about other fields in status
When manually completing an I/O, we do so because we have no status back
from the card. Note M, CRD and P are all 0 because this is an artificial
event (and phase isn't checked when it's completed this way). There's no
MORE information in the error log page and there's no delayed retry
(CRD=0) and we don't currently request CRD to be set to anything other
than 0 and thus don't implement delayed retry.
Sponsored by: Netflix
Reviewed by: chuck, mav, jhb
Differential Revision: https://reviews.freebsd.org/D41314
---
sys/dev/nvme/nvme_qpair.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c
index 0a0115967eef..878df6183eea 100644
--- a/sys/dev/nvme/nvme_qpair.c
+++ b/sys/dev/nvme/nvme_qpair.c
@@ -503,6 +503,9 @@ nvme_qpair_manual_complete_tracker(
cpl.status |= (sct & NVME_STATUS_SCT_MASK) << NVME_STATUS_SCT_SHIFT;
cpl.status |= (sc & NVME_STATUS_SC_MASK) << NVME_STATUS_SC_SHIFT;
cpl.status |= (dnr & NVME_STATUS_DNR_MASK) << NVME_STATUS_DNR_SHIFT;
+ /* M=0 : this is artificial so no data in error log page */
+ /* CRD=0 : this is artificial and no delayed retry support anyway */
+ /* P=0 : phase not checked */
nvme_qpair_complete_tracker(tr, &cpl, print_on_error);
}