NVME-ID-NVMSET(1)

✨ NVME-ID-NVMSET ✨

okay bestie, listen up πŸ’… this is the nvme-id-nvmset page from the NVMe Manual (nvme-user suite, iykyk) β€” it's all about sending an Identify NVM Set List command and getting the tea back. Let's go 🫢


🌈 SYNOPSIS

nvme [<global-options>] id nvmset <device> [--nvmset_id=<id> | -i <id>]

πŸ’– DESCRIPTION

so for the NVMe device you hand it, this bad boy sends an identify NVM set list command and gives you back the result and the returned structure. iconic behavior tbh ✨

the <device> parameter is mandatory β€” no device, no vibe check, it's literally required 🚨 and it can be either:

  • the NVMe character device β€” ex: /dev/nvme0
  • or a namespace block device β€” ex: /dev/nvme0n1

on success, the structure comes back in one of several ways depending on your option flags: either the program parses it for you, or the raw buffer gets printed straight to stdout. dealer's choice, main character energy πŸ‘‘

🫧 also quick PSA: the bare nvme id-nvmset form (no space, yeah that one) still works as a deprecated alias and will be removed in a future major version. so like... new scripts should use nvme id nvmset instead, fr fr. don't get attached to the old one, it's giving "leaving soon" πŸ’€

πŸŽ€ OPTIONS

  • -i <id>, --nvmset_id=<id> β€” this field specifies the identifier of the NVM Set. if you give it one, the NVM set identifier whose entry is to be in the result data will be greater than or equal to this value. so it's a "this or higher" situation, not an exact match, noted ✨

πŸ‘‘ GLOBAL OPTIONS

these are defined at the top-level nvme command and they're all available to this subcommand too β€” no gatekeeping here 🫢

  • --dry-run β€” print the command that would be executed, but do not actually execute it. theoretical slay πŸ’…
  • --no-ioctl-probing β€” disable probing for 64-bit IOCTL support.
  • --no-retries β€” disable retry logic on transient errors. no second chances, periodt.
  • -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 (pick your fighter, bestie).
  • --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. so it does override verbose, good to know πŸ‘€
  • --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. mix and match, it's a little buffet 🌸
  • --timeout=<ms> β€” set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). patient queen energy ⏳
  • -v, --verbose β€” increase the level of detail in the output. may be specified multiple times to further increase verbosity. stack 'em like accessories πŸ’œ
🧚 and these options can also be set as machine-wide defaults in nvme-cli.conf(5) β€” a command-line flag always overrides the file, no cap.

πŸ¦‹ EXAMPLES

  • have the program interpret the returned buffer and display the known fields in a human readable format:
# nvme id nvmset /dev/nvme0
  • have the program return the raw structure in binary:
# nvme id nvmset /dev/nvme0 --output-format=binary > id_nvmset.raw
# nvme id nvmset /dev/nvme0 -o binary > id_nvmset.raw
😭 it is probably a bad idea to not redirect stdout when using this mode. like actually. redirect it. save your terminal's life.
  • alternatively you may want to send the data to another program that can parse the raw buffer:
# nvme id nvmset /dev/nvme0 -o binary | nvme_parse_id_nvmset

the parse program in the above example can be a program that shows the structure in a way you like. the following program is such an example that will parse it and can accept the output through a pipe, |, as shown in the above example, or you can cat a saved output buffer to it.

NVME

🌟 SIGN-OFF

part of the nvme-user suite 🫢 and that's the whole page, bestie β€” you ate πŸ’…βœ¨

<cute little footer moment> from the NVMe crew, dated 10/30/2026 πŸŽ€ mark your calendar, it's iconic. πŸ’œ

πŸ“¦ where this page comes from