'\" 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\&.