1libnvme(9)                        API Manual                        libnvme(9)
2
3
4

NAME

6       struct nvme_st_result - Self-test Result
7

SYNOPSIS

9       struct nvme_st_result {
10           __u8 dsts;
11           __u8 seg;
12           __u8 vdi;
13           __u8 rsvd;
14           __le64 poh;
15           __le32 nsid;
16           __le64 flba;
17           __u8 sct;
18           __u8 sc;
19           __u8 vs[2];
20        };
21
22

Members

24       dsts        Device  Self-test  Status:  Indicates  the device self-test
25                   code and the status of the operation  (see  enum  nvme_sta‐
26                   tus_result and enum nvme_st_code).
27
28       seg         Segment  Number:  Iindicates  the  segment number where the
29                   first self-test failure occurred. If Device Self-test  Sta‐
30                   tus  (dsts)  is  not set to #NVME_ST_RESULT_KNOWN_SEG_FAIL,
31                   then this field should be ignored.
32
33       vdi         Valid  Diagnostic  Information:  Indicates  the  diagnostic
34                   failure    information   that   is   reported.   See   enum
35                   nvme_st_valid_diag_info.
36
37       rsvd        Reserved
38
39       poh         Power On Hours (POH):  Indicates  the  number  of  power-on
40                   hours  at  the time the device self-test operation was com‐
41                   pleted or aborted. This does not include time that the con‐
42                   troller was powered and in a low power state condition.
43
44       nsid        Namespace  Identifier  (NSID): Indicates the namespace that
45                   the Failing LBA occurred on. Valid only when the NSID Valid
46                   bit (#NVME_ST_VALID_DIAG_INFO_NSID) is set in the Valid Di‐
47                   agnostic Information (vdi) field.
48
49       flba        Failing LBA: indicates the LBA of the  logical  block  that
50                   caused  the  test  to  fail. If the device encountered more
51                   than one failed logical block during the  test,  then  this
52                   field  only  indicates  one of those failed logical blocks.
53                   Valid     only     when     the     NSID     Valid      bit
54                   (#NVME_ST_VALID_DIAG_INFO_FLBA)  is  set in the Valid Diag‐
55                   nostic Information (vdi) field.
56
57       sct         Status Code Type: This field may contain additional  infor‐
58                   mation  related  to errors or conditions. Bits 2:0 may con‐
59                   tain additional information relating to  errors  or  condi‐
60                   tions  that  occurred during the device self-test operation
61                   represented in the same format used in the Status Code Type
62                   field   of  the  completion  queue  entry  (refer  to  enum
63                   nvme_status_field).  Valid only when  the  NSID  Valid  bit
64                   (#NVME_ST_VALID_DIAG_INFO_SCT) is set in the Valid Diagnos‐
65                   tic Information (vdi) field.
66
67       sc          Status Code: This field may contain additional  information
68                   relating  to  errors or conditions that occurred during the
69                   device self-test operation represented in the  same  format
70                   used  in  the Status Code field of the completion queue en‐
71                   try.    Valid    only    when    the    SCT    Valid    bit
72                   (#NVME_ST_VALID_DIAG_INFO_SC)  is set in the Valid Diagnos‐
73                   tic Information (vdi) field.
74
75       vs          Vendor Specific.
76
77
78
79October 2023                 struct nvme_st_result                  libnvme(9)
Impressum