'\" t .\" Title: nvme-ocp-set-error-injection .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 09/07/2026 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-OCP\-SET\-ERRO" "1" "09/07/2026" "NVMe" "NVMe Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" nvme-ocp-set-error-injection \- Inject error conditions .SH "SYNOPSIS" .sp .nf \fInvme\fR [] \fIocp set\-error\-injection\fR [\-\-data= | \-d ] [\-\-number= | \-n ] [\-\-no\-uuid | \-N] [\-\-all\-ns | \-a] [\-\-type= | \-t ] [\-\-nrtdp= | \-r ] .fi .SH "DESCRIPTION" .sp Inject error conditions\&. .sp The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. .sp This will only work on OCP compliant devices supporting this feature\&. Results for any other device are undefined\&. .sp On success it returns 0, error code otherwise\&. .SH "OPTIONS" .PP \-d , \-\-data= .RS 4 Error injection data structure entries .RE .PP \-n , \-\-number= .RS 4 Number of valid error injection data entries .RE .PP \-N, \-\-no\-uuid .RS 4 Do not try to automatically detect UUID index for this command (required for old OCP 1\&.0 support) .RE .PP \-a, \-\-all\-ns .RS 4 Apply to all namespaces .RE .PP \-t , \-\-type= .RS 4 Error injection type (1\-22: see NOTES section for valid types) .RE .PP \-r , \-\-nrtdp= .RS 4 Number of reads to trigger device panic .RE .SH "GLOBAL OPTIONS" .sp The following options are defined at the top\-level nvme command and are available to this subcommand: .PP \-\-dry\-run .RS 4 Print the command that would be executed, but do not actually execute it\&. .RE .PP \-\-no\-ioctl\-probing .RS 4 Disable probing for 64\-bit IOCTL support\&. .RE .PP \-\-no\-retries .RS 4 Disable retry logic on transient errors\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fItabular, \*(Aqjson\fR, or \fIbinary\fR\&. Only one output format may be used at a time\&. .RE .PP \-\-output\-format\-version= .RS 4 Select the output format version\&. Version \fI1\fR uses the original field naming, while version \fI2\fR (default) provides more consistent and script\-friendly field names\&. .RE .PP \-\-timeout= .RS 4 Set the timeout for the command in milliseconds\&. .RE .PP \-v, \-\-verbose .RS 4 Increase the level of detail in the output\&. May be specified multiple times to further increase verbosity\&. .RE .sp These options can also be set as machine\-wide defaults in nvme\-cli\&.conf(5)\&. A command\-line flag always overrides the file\&. .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Has the program issue a set\-error\-injection with the 2 entries data file\&. .sp .if n \{\ .RS 4 .\} .nf # nvme ocp set\-error\-injection /dev/nvme0 \-d data\&.bin \-n 2 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Has the program issue a set\-error\-injection with the 5 reads trigger NAND hang\&. .sp .if n \{\ .RS 4 .\} .nf # nvme ocp set\-error\-injection /dev/nvme0 \-t 2 \-r 5 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Has the program issue a set\-error\-injection for all namespaces with type 1\&. .sp .if n \{\ .RS 4 .\} .nf # nvme ocp set\-error\-injection /dev/nvme0 \-a \-t 1 .fi .if n \{\ .RE .\} .RE .SH "NOTES" .sp Valid error injection types: 1 \- CPU/controller hang 2 \- NAND hang 3 \- PLP defect 4 \- Logical firmware error 5 \- DRAM corruption critical path 6 \- DRAM corruption non\-critical path 7 \- NAND corruption 8 \- SRAM corruption 9 \- HW malfunction 10 \- No more NAND spares available 11 \- Incomplete shutdown 12 \- Metadata corruption 13 \- Critical garbage collection 14 \- Latency spike 15 \- I/O command failure 16 \- I/O command timeout 17 \- Admin command failure 18 \- Admin command timeout 19 \- Thermal throttle engaged 20 \- Thermal throttle disengaged 21 \- Critical temperature event 22 \- Die offline .SH "NVME" .sp Part of the nvme\-user suite\&.