git: 5cdedf676d03 - main - nvme: Log reset success or failure to devd
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 07 Mar 2024 01:39:15 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=5cdedf676d0300966b0dbed073d0f34c59282e03
commit 5cdedf676d0300966b0dbed073d0f34c59282e03
Author: Warner Losh <imp@FreeBSD.org>
AuthorDate: 2024-03-07 01:22:34 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2024-03-07 01:38:59 +0000
nvme: Log reset success or failure to devd
We're logging when we start a reset, but not when we complete it, nor
the result. Create now log a success or timed_out event for the reset.
Currently, the only detectable error we have from reset is 'failure to
become ready in time,' though the code looks like it might be more
generic. Log this and if we ever have other failure modes, change the
logging to devd when that happens.
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D44211
---
sys/dev/nvme/nvme_ctrlr.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c
index 609794edbf67..ca26ca8e92d8 100644
--- a/sys/dev/nvme/nvme_ctrlr.c
+++ b/sys/dev/nvme/nvme_ctrlr.c
@@ -1179,10 +1179,13 @@ nvme_ctrlr_reset_task(void *arg, int pending)
nvme_ctrlr_devctl_log(ctrlr, "RESET", "event=\"start\"");
status = nvme_ctrlr_hw_reset(ctrlr);
- if (status == 0)
+ if (status == 0) {
+ nvme_ctrlr_devctl_log(ctrlr, "RESET", "event=\"success\"");
nvme_ctrlr_start(ctrlr, true);
- else
+ } else {
+ nvme_ctrlr_devctl_log(ctrlr, "RESET", "event=\"timed_out\"");
nvme_ctrlr_fail(ctrlr);
+ }
atomic_cmpset_32(&ctrlr->is_resetting, 1, 0);
}