nvme-persistent-event-log - Send NVMe persistent event log page request, returns result and log

nvme persistent-event-log <device> [--action=<action> | -a <action>]

[--log-len=<log-len> | -l <log-len>]
[--raw-binary | -b]
[--output-format=<fmt> | -o <fmt>]

Retrieves the NVMe persistent event 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 persistent event log structure 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 or the raw buffer may be printed to stdout for another program to parse.

-a <action>, --action=<action>

While try to retrieve this log action the controller shall take during processing this persistent log page command. This mandatory field, based on the value issued it may Read Log Data, Establish Context and Read Log Data or Release Context can occur. For More details see NVM Express 1.4 Spec. Section Persistent Event Log (Log Identifier 0Dh)

-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. If <log-len> given is 0 and action is 0, it will read the Total Log Length(TLL) of the page.

-b, --raw-binary

Print the raw persistent event log buffer to stdout.

-o <format>, --output-format=<format>

Set the reporting format to normal, json, or binary. Only one output format can be used at a time.

•Print the persistent event log page in a human readable format:
# nvme persistent-event-log /dev/nvme0
•Print the raw persistent event log to a file:
# nvme persistent-event-log /dev/nvme0 --raw-binary > persistent_log.raw

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

Part of the nvme-user suite

08/23/2022 NVMe