git: 6a3877a0e2b5 - main - devd: Document the nvme devd events

From: Warner Losh <imp_at_FreeBSD.org>
Date: Thu, 07 Mar 2024 01:39:17 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=6a3877a0e2b5c1345f967981a5c9c249d4a44e2e

commit 6a3877a0e2b5c1345f967981a5c9c249d4a44e2e
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2024-03-07 01:22:39 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2024-03-07 01:38:59 +0000

    devd: Document the nvme devd events
    
    Nvme informs devd of smart and reset controller events. Document them.
    
    Sponsored by:           Netflix
    Differential Revision:  https://reviews.freebsd.org/D44212
---
 sbin/devd/devd.conf.5 | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/sbin/devd/devd.conf.5 b/sbin/devd/devd.conf.5
index c9c421090ab9..cf2e7dc5534a 100644
--- a/sbin/devd/devd.conf.5
+++ b/sbin/devd/devd.conf.5
@@ -38,7 +38,7 @@
 .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 .\" SOFTWARE.
 .\"
-.Dd December 1, 2022
+.Dd March 6, 2024
 .Dt DEVD.CONF 5
 .Os
 .Sh NAME
@@ -481,6 +481,34 @@ Notification that the system has woken from the suspended state.
 .Pp
 .Bl -column "System" "Subsystem" "1234567" -compact
 .Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description"
+.It Li nvme Ta Li controller Ta Li SMART_ERROR Ta
+A SMART Critical Warning State change has happened.
+$state has a hex bitmask of the bits that changed, as defined
+in the NVMe Standard for Critical Warning field of log page 2
+.Dq SMART / Health Information Log :
+.Bl -column "Bit Value" "Meaning" -compact
+.Sy "Bit Value" Ta Sy "Meaning"
+.It 0x1 Ta Spare capacity below threshold
+.It 0x2 Ta Temperature outside acceptable range
+.It 0x4 Ta Reliability of media degraded
+.It 0x8 Ta Media placed into read-only mode
+.It 0x10 Ta Volatime memory backup failure
+.It 0x20 Ta Persistent memrory read-only or degraded
+.El
+.It Li nvme Ta Li controller Ta Li RESET Ta
+A controller reset event has happened.
+$event is one of
+.Dq start ,
+.Dq success ,
+and
+.Dq timed_out
+representing the start of a controller reset, the successful completion of a
+controller reset, and a timeout while waiting for the controller to reset
+respectively.
+.El
+.Pp
+.Bl -column "System" "Subsystem" "1234567" -compact
+.Sy "System" Ta Sy "Subsystem" Ta Sy "Type" Ta Sy "Description"
 .It Li PMU Ta Ta Ta
 Notification of events from various types of Power Management Units.
 .It Li PMU Ta Li "AC" Ta Ta