nvme-get-feature - Gets an NVMe feature, returns applicable results
Contents
Description
Submits an NVMe Get Feature admin command and returns the applicable results. This may be the feature’s
value, or may also include a feature structure if the feature requires it (ex: LBA Range Type).
The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a
namespace block device (ex: /dev/nvme0n1).
On success, the returned feature’s structure (if applicable) may be returned in one of several ways
depending on the option flags; the structure may parsed by the program and printed in a readable format
if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another
program to parse.
Examples
• Retrieves the feature for Number of Queues, or feature id 7:
# nvme get-feature /dev/nvme0 -f 7
• The following retrieves the feature for the LBA Range Type, which implicitly requires a buffer and
will be printed to the screen in human readable format:
# nvme get-feature /dev/nvme0 -f 3
• Retrieves the feature for the some vendor specific feature and specifically requesting a buffer be
allocate for this feature, which will be displayed to the user in as a hex dump:
# nvme get-feature /dev/nvme0 -f 0xc0 -l 512
Get feature with UUID index
# nvme get-feature /dev/nvme0 -f 0xc0 -l 512 -U 0x1
• The following retrieves the feature for the LBA Range Type, which implicitly requires a buffer and
will be saved to a file in its raw format:
# nvme get-feature /dev/nvme0 -f 3 --raw-binary > lba_range.raw
It is probably a bad idea to not redirect stdout when using this mode.
Name
nvme-get-feature - Gets an NVMe feature, returns applicable results
Nvme
Part of the nvme-user suite
NVMe 02/16/2025 NVME-GET-FEATURE(1)
Options
-n <nsid>, --namespace-id=<nsid>
Retrieve the feature for the given nsid. This is optional and most features do not use this value.
-f <fid>, --feature-id=<fid>
The feature id to send with the command. Value provided should be in hex.
-s <select>, --sel=<select>
Select (SEL): This field specifies which value of the attributes to return in the provided data:
┌────────┬────────────────────────┐
│ Select │ Description │
├────────┼────────────────────────┤
│ 0 │ Current │
├────────┼────────────────────────┤
│ 1 │ Default │
├────────┼────────────────────────┤
│ 2 │ Saved │
├────────┼────────────────────────┤
│ 3 │ Supported capabilities │
├────────┼────────────────────────┤
│ 4-7 │ Reserved │
└────────┴────────────────────────┘
-U <uuid-index>, --uuid-index=<uuid-index>
UUID Index of the feature
-l <data-len>, --data-len=<data-len>
The data length for the buffer returned for this feature. Most known features do not use this value.
The exception is LBA Range Type
-c <cdw11>, --cdw11=<cdw11>
The value for command dword 11, if applicable.
-b, --raw-binary
Print the raw feature buffer to stdout if the feature returns a structure.
-H, --human-readable
This option will parse and format many of the bit fields into human-readable formats.
-C, --changed
This option will show feature changed.
-o <fmt>, --output-format=<fmt>
Set the reporting format to normal, json or binary. Only one output format can be used at a time.
-v, --verbose
Increase the information detail in the output.
-t <timeout>, --timeout=<timeout>
Override default timeout value. In milliseconds.
Synopsis
nvmeget-feature <device> [--namespace-id=<nsid> | -n <nsid>]
[--feature-id=<fid> | -f <fid>]
[--uuid-index=<uuid-index> | -U <uuid_index>]
[--data-len=<data-len> | -l <data-len>]
[--sel=<select> | -s <select>]
[--raw-binary | -b] [--cdw11=<cdw11> | -c <cdw11>]
[--human-readable | -H] [--changed | -C]
[--output-format=<fmt> | -o <fmt>] [--verbose | -v]
[--timeout=<timeout> | -t <timeout>]
