SYNOPSIS

nvme get-log <device> [--log-id=<log-id> | -i <log-id>]
                        [--log-len=<log-len> | -l <log-len>]
                        [--aen=<aen> | -a <aen>]
                        [--namespace-id=<nsid> | -n <nsid>]
                        [--raw-binary | -b]
                        [--lpo=<offset> | -L <offset>]
                        [--lsp=<field> | -s <field>]
                        [--lsi=<field> | -S <field>]
                        [--rae | -r]
                        [--csi=<command_set_identifier> | -y <command_set_identifier>]
                        [--ot=<offset_type> | -O <offset_type>]
                        [--xfer-len=<length> | -x <length>]
                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]

DESCRIPTION

Retrieves an arbitrary NVMe log page from an NVMe device and provides the returned structure.

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 log structure may be returned in one of several ways depending on the option flags; the structure may be displayed in hex by the program or the raw buffer may be printed to stdout for another program to parse.

OPTIONS

-l <log-len>
--log-len=<log-len>

Allocates a buffer of <log-len> bytes size and requests this many bytes be returned in the constructed NVMe command. This param is mandatory.

-i <log-id>
--log-id=<log-id>

Sets the commands requested log-id to <log-id>. Defaults to 0.

Value

Definition

0x00 | supported-log-pages

Supported Log Pages

0x01 | error

Error Information

0x02 | smart

SMART / Health Information

0x03 | fw-slot

Firmware Slot Information

0x04 | changed-ns

Changed Namespace List

0x05 | cmd-effects

Commands Supported and Effects

0x06 | device-self-test

Device Self-test

0x07 | telemetry-host

Telemetry Host-Initiated

0x08 | telemetry-ctrl

Telemetry Controller-Initiated

0x09 | endurance-group

Endurance Group Information

0x0a | predictable-lat-nvmset

Predictable Latency Per NVM Set

0x0b | predictable-lat-agg

Predictable Latency Event Aggregate

0x0c | ana

Asymmetric Namespace Access

0x0d | persistent-event

Persistent Event Log

0x0e | lba-status

LBA Status Information

0x0f | endurance-grp-evt

Endurance Group Event Aggregate

0x10 | media-unit-status

Media Unit Status

0x11 | supported-cap-config-list

Supported Capacity Configuration Lis

0x12 | fid-supported-effects

Feature Identifiers Supported and Effects

0x13 | mi-cmd-supported-effects

NVMe-MI Commands Supported and Effects

0x14 | cmd-and-feat-lockdown

Command and Feature Lockdown

0x15 | boot-partition

Boot Partition

0x16 | rotational-media-info

Rotational Media Information

0x17 | dispersed-ns-participating-ns

Dispersed Namespace Participating NVM Subsystems

0x18 | mgmt-addr-list

Management Address List

0x19 | phy-rx-eom

Physical Interface Receiver Eye Opening Measurement

0x1a | reachability-groups

Reachability Groups

0x1b | reachability-associations

Reachability Associations

0x1c | changed-alloc-ns-list

Changed Allocated Namespace List

0x20 | fdp-configs

FDP Configurations

0x21 | fdp-ruh-usage

Reclaim Unit Handle Usage

0x22 | fdp-stats

FDP Statistics

0x23 | fdp-events

FDP Events

0x70 | discover

Discovery

0x71 | host-discover

Host Discovery

0x72 | ave-discover

AVE Discovery

0x73 | pull-model-ddc-req

Pull Model DDC Request

0x80 | reservation

Reservation Notification

0x81 | sanitize

Sanitize Status

0xbf | zns-changed-zones

Changed Zone List

-a <aen>
--aen=<aen>

Convenience field for extracting log information based on an asynchronous event notification result. This will override log-id and log-len, if set.

-n <nsid>
--namespace-id=<nsid>

Sets the command’s nsid value to the given nsid. Defaults to 0xffffffff if not given. This option may not affect anything depending on the log page, which may or may not be specific to a namespace.

-b
--raw-binary

Print the raw log buffer to stdout.

-L <offset>
--lpo=<offset>

The log page offset specifies the location within a log page to start returning data from. It’s Dword-aligned and 64-bits.

-s <field>
--lsp=<field>

The log specified field of LID.

-S <field>
--lsi=<field>

The log specified field of Log Specific Identifier.

-r
--rae

Retain an Asynchronous Event.

-y <command_set_identifier>
--csi=<command_set_identifier>

This field specifies the identifier of command set. if not issued, NVM Command Set will be selected.

-O
--ot

This field specifies the offset type. If set to false, the Log Page Offset Lower field and the Log Page Offset Upper field specify the byte offset into the log page to be returned. If set to true, the Log Page Offset Lower field and the Log Page Offset Upper field specify the index into the list of data structures in the log page to be returned. The default is byte offset. If the option is specified the index mode is used.

-x <length>

--xfer-len <length>: Specify the read chunk size. The length argument is expected to be a multiple of 4096. The default size is 4096.

-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.

EXAMPLES

  • Get 512 bytes from log page 2

    # nvme get-log /dev/nvme0 --log-id=2 --log-len=512

    The above example will get log page 2 (SMART), and request 512 bytes. On success, the returned log will be dumped in hex and not interpreted by the program.

  • Have the program return the raw log page in binary:

    # nvme get-log /dev/nvme0 -log-id=2 --log-len=512 --raw-binary > log_page_2.raw
    # nvme get-log /dev/nvme0 -i 2 -l 512 -b > log_page_2.raw

    It is not a good idea to not redirect stdout when using this mode.

NVME

Part of the nvme-user suite