NVME-FEAT-ASYNC-E(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’… nvme-feat-async-event-conf β€” NVMe Manual edition, bestie

okay so this is the nvme-feat-async-event-conf page from the NVMe Manual, and it's literally the glow-up guide for your controller's async event configuration. Get it, set it, save it β€” the whole main character arc. ✨


🌸 NAME

nvme-feat-async-event-conf β€” get and set the async event configuration feature πŸŽ€


πŸ¦‹ SYNOPSIS

nvme [<global-options>] feat async-event-conf <device>
                        [--result=<result> | -r <result>]
                        [--sel=<select> | -S <select>] [--save | -s]

πŸ’– DESCRIPTION

Get and set async event configuration feature. That's the whole vibe. 🫢

The <device> parameter is mandatory, no skipping it, bestie β€” it can be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). Both are valid, pick your fighter. πŸ’…

Here's the tea on how it behaves:

  • If the setting option (--result) is specified, the command will update the asynchronous event configuration. Slay, you're writing.
  • If this option is not specified, it will retrieve and display the current configuration. Reading era. πŸ”

The event configuration is specified as an event mask that determines which asynchronous events are enabled on the controller.

On success it returns 0, error code otherwise. No cap. βœ…


✨ OPTIONS ✨

  • -r <result>, --result=<result> β€” Event Mask. A bitmask specifying which asynchronous events are enabled. Each bit corresponds to a different event type. Refer to the NVMe specification for the specific bit definitions. iykyk, the spec is the source of truth here. 🧚
  • -S <select>, --sel=<select> β€” Select (SEL): This field specifies which value of the attributes to return in the provided data:
    • 0 β€” current β€” Current
    • 1 β€” default β€” Default
    • 2 β€” saved β€” Saved
    • 3 β€” supported β€” Supported capabilities

(yes bestie that's the whole table, decluttered and adorable πŸ’œ)

  • -s, --save β€” Save the attribute so that it persists through all power states and resets. literally making it permanent, iconic behavior πŸ‘‘

🌈 GLOBAL OPTIONS

The following options are defined at the top-level nvme command and are available to this subcommand. So they're like, the family money. πŸ’°

  • --dry-run β€” Print the command that would be executed, but do not actually execute it. Manifesting without acting. πŸ™ˆ
  • --no-ioctl-probing β€” Disable probing for 64-bit IOCTL support.
  • --no-retries β€” Disable retry logic on transient errors.
  • -o <fmt>, --output-format=<fmt> β€” Set the reporting format to normal, tabular, 'json, or binary. Only one output format may be used at a time. Don't be greedy. πŸ’…
  • --output-format-version=<version> β€” Select the output format version. Version 1 uses the original field naming, while version 2 (default) provides more consistent and script-friendly field names. Other versions are rejected. 🚫
  • --quiet β€” Suppress informational messages. Errors are still reported, and --quiet cancels any --verbose for the library log level. shhh, silent mode 🀫
  • --set-options=<key=value>[,<key=value>...] β€” Set libnvme library options for this invocation. Supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir.
  • --timeout=<ms> β€” Set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). ⏳
  • -v, --verbose β€” Increase the level of detail in the output. May be specified multiple times to further increase verbosity. the way you can just keep stacking -v… obsessed πŸ—£οΈ
These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file. πŸ’‘ (file says one thing, your flag says another β€” flag wins, periodt)

πŸŽ€ EXAMPLES

  1. Has the program issue a feat async-event-conf to get the current configuration:
# nvme feat async-event-conf /dev/nvme0
  1. Has the program issue a feat async-event-conf to set the event mask:
# nvme feat async-event-conf /dev/nvme0 --result=0xFF --save

see how the second one has --result=0xFF and --save? that's the set-and-persist combo, chef's kiss πŸ”₯


πŸ‘‘ NVME

Part of the nvme-user suite. 🫢


okay that's the whole page bestie, go forth and configure those async events πŸ’–βœ¨

β€” signed off from the NVMe corner of the manual, dated 10/30/2026, version NVMe, file NVME-FEAT-ASYNC-E(1). mwah πŸ’‹

πŸ“¦ where this page comes from