'\" t .\" Title: nvme-set-feature .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 02/16/2026 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-SET\-FEATURE" "1" "02/16/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-set-feature \- Sets an NVMe feature, returns applicable results .SH "SYNOPSIS" .sp .nf \fInvme set\-feature\fR [\-\-namespace\-id= | \-n ] [\-\-feature\-id= | \-f ] [\-\-value= | \-V ] [\-\-uuid\-index= | \-U ] [\-\-data\-len= | \-l ] [\-\-data= | \-d ] [\-\-save | \-s] [\-\-output\-format= | \-o ] [\-\-verbose | \-v] [\-\-cdw12= | \-c ] [\-\-timeout= | \-t ] .fi .SH "DESCRIPTION" .sp Submits an NVMe Set Feature admin command and returns the applicable results\&. This may be the feature\(cqs value, or may also include a feature structure if the feature requires it (ex: LBA Range Type)\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the value sent to the device is displayed .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Sets the feature for the given nsid\&. This is optional and most features do not use this value\&. .RE .PP \-f , \-\-feature\-id= .RS 4 The feature id to send with the command\&. Value provided should be in hex\&. .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt. T{ Value T}:T{ Definition T} T{ 0x01 | \fIarbitration\fR T}:T{ Arbitration T} T{ 0x02 | \fIpower\-mgmt\fR T}:T{ Power Management T} T{ 0x03 | \fIlba\-range\fR T}:T{ LBA Range Type T} T{ 0x04 | \fItemp\-thresh\fR T}:T{ Temperature Threshold T} T{ 0x05 | \fIerr\-recovery\fR T}:T{ Error Recovery T} T{ 0x06 | \fIvolatile\-wc\fR T}:T{ Volatile Write Cache T} T{ 0x07 | \fInum\-queues\fR T}:T{ Number of Queues T} T{ 0x08 | \fIirq\-coalesce\fR T}:T{ Interrupt Coalescing T} T{ 0x09 | \fIirq\-config\fR T}:T{ Interrupt Vector Configuration T} T{ 0x0a | \fIwrite\-atomic\fR T}:T{ Write Atomicity Normal T} T{ 0x0b | \fIasync\-event\fR T}:T{ Asynchronous Event Configuration T} T{ 0x0c | \fIauto\-pst\fR T}:T{ Autonomous Power State Transition T} T{ 0x0d | \fIhost\-mem\-buf\fR T}:T{ Host Memory Buffer T} T{ 0x0e | \fItimestamp\fR T}:T{ Timestamp T} T{ 0x0f | \fIkato\fR T}:T{ Keep Alive Timer T} T{ 0x10 | \fIhctm\fR T}:T{ Host Controlled Thermal Management T} T{ 0x11 | \fInopsc\fR T}:T{ Non\-Operational Power State Config T} T{ 0x12 | \fIrrl\fR T}:T{ Read Recovery Level Config T} T{ 0x13 | \fIplm\-config\fR T}:T{ Predictable Latency Mode Config T} T{ 0x14 | \fIplm\-window\fR T}:T{ Predictable Latency Mode Window T} T{ 0x15 | \fIlba\-sts\-interval\fR T}:T{ LBA Status Information Report Interval T} T{ 0x16 | \fIhost\-behavior\fR T}:T{ Host Behavior Support T} T{ 0x17 | \fIsanitize\fR T}:T{ Sanitize Config T} T{ 0x18 | \fIendurance\-evt\-cfg\fR T}:T{ Endurance Group Event Configuration T} T{ 0x19 | \fIiocs\-profile\fR T}:T{ I/O Command Set Profile T} T{ 0x1a | \fIspinup\-control\fR T}:T{ Spinup Control T} T{ 0x1b | \fIpower\-loss\-signal\fR T}:T{ Power Loss Signaling Config T} T{ 0x1c | \fIperf\-characteristics\fR T}:T{ Performance Characteristics T} T{ 0x1d | \fIfdp\fR T}:T{ Flexible Data Placement T} T{ 0x1e | \fIfdp\-events\fR T}:T{ FDP Events T} T{ 0x1f | \fIns\-admin\-label\fR T}:T{ Namespace Admin Label T} T{ 0x20 | \fIkey\-value\fR T}:T{ Key Value Configuration T} T{ 0x21 | \fIctrl\-data\-queue\fR T}:T{ Controller Data Queue T} T{ 0x78 | \fIemb\-mgmt\-ctrl\-addr\fR T}:T{ Embedded Management Controller Address T} T{ 0x79 | \fIhost\-mgmt\-agent\-addr\fR T}:T{ Host Management Agent Address T} T{ 0x7d | \fIenh\-ctrl\-metadata\fR T}:T{ Enhanced Controller Metadata T} T{ 0x7e | \fIctrl\-metadata\fR T}:T{ Controller Metadata T} T{ 0x7f | \fIns\-metadata\fR T}:T{ Namespace Metadata T} T{ 0x80 | \fIsw\-progress\fR T}:T{ Software Progress Marker T} T{ 0x81 | \fIhost\-id\fR T}:T{ Host Identifier T} T{ 0x82 | \fIresv\-mask\fR T}:T{ Reservation Notification Mask T} T{ 0x83 | \fIresv\-persist\fR T}:T{ Reservation Persistence T} T{ 0x84 | \fIwrite\-protect\fR T}:T{ Namespace Write Protection Config T} T{ 0x85 | \fIbp\-write\-protect\fR T}:T{ Boot Partition Write Protection Config T} .TE .sp 1 .RE .PP \-l , \-\-data\-len= .RS 4 The data length for the buffer submitted for this feature\&. Most known features do not use this value\&. The exceptions are LBA Range Type and host identifier\&. .RE .PP \-d , \-\-data= .RS 4 The data file for the buffer submitted for this feature\&. Most known features do not use this value\&. The exceptions is LBA Range Type and host identifier\&. This defaults to STDIN so files and echo can be piped\&. .RE .PP \-V , \-\-value= .RS 4 The value for command dword 11, the value you want to set the feature to\&. .RE .PP \-s, \-\-save .RS 4 Save the attribute so that it persists through all power states and resets\&. .RE .PP \-U , \-\-uuid\-index= .RS 4 UUID Index of the feature .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .PP \-v, \-\-verbose .RS 4 Increase the information detail in the output\&. .RE .PP \-c , \-\-cdw12= .RS 4 The value for command dword 12, if applicable\&. .RE .PP \-t , \-\-timeout= .RS 4 Override default timeout value\&. In milliseconds\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Sets the Power State (PS) to 1 in feature id 2: .sp .if n \{\ .RS 4 .\} .nf # nvme set\-feature /dev/nvme0 \-f 2 /dev/nvme0n1 \-V 0x1 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Sets the host id to the ascii string\&. .sp .if n \{\ .RS 4 .\} .nf # echo "abcdefgh" | nvme set\-feature /dev/nvme0 \-f 0x81 \-l 8 .fi .if n \{\ .RE .\} .sp nvme set\-feature /dev/nvme0 \-f 0x81 \-l 8 \-U 0x1 .RE .SH "NVME" .sp Part of the nvme\-user suite