NVME-EXCLUSION-LIS(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’… NAME πŸ’…

nvme-exclusion-list β€” the glow-up command that lists your NVMe-oF exclusion lists, or just the entries inside one of them πŸ¦‹

(this little icon lives in the NVMe Manual, bestie β€” section 1, obviously)


✨ SYNOPSIS ✨

nvme [<global-options>] exclusion list [--name=<NAME> | -N <NAME>]

🌸 DESCRIPTION 🌸

okay so. no --name? then it prints every exclusion list plus all its entries. and the order matters, so pay attention πŸ™ˆ: the main hand-edited /etc/nvme/exclusions.conf comes first, and it shows up tagged as (default), and then you get each named list chillin' under /etc/nvme/exclusions.conf.d/. giving organized-queen energy tbh.

but if you do pass --name, it prints the entries of that one list only. one list. that's it. iconic behavior.

now the drama: some entries can literally never match. those get marked # invalid: never matches. πŸ’€ and an entry counts as invalid when it has any of these:

  • it uses an unknown key
  • it has a token without =
  • it has an empty value
  • it has a hostname where the transport requires a numeric address

add --verbose and it'll log the reason for each one, so you're not just staring at # invalid like πŸ‘οΈπŸ‘„πŸ‘οΈ wondering what you did.

also very important: this command is read-only and does not require root. no sudo, no stress, no cap. 🫢


πŸŽ€ OPTIONS πŸŽ€

  • -N <NAME>, --name=<NAME> β€” list the entries in the named exclusion list. omit it and you get all the exclusion lists instead. your call, main character πŸ’…

πŸ‘‘ GLOBAL OPTIONS πŸ‘‘

these are defined up at the top-level nvme command, and this subcommand gets to use them too. lucky us 🌈

  • --dry-run β€” print the command that would be executed, but don't actually execute it. window shopping, basically πŸ›οΈ
  • --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 at a time, bestie, don't be greedy βœ‹
  • --output-format-version=<version> β€” select the output format version. version 1 uses the original field naming, while version 2 (default) gives you more consistent and script-friendly field names. other versions are rejected. rejected!! 🚫
  • --quiet β€” suppress informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level. so it's like a mute button, but for vibes only ✨
  • --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). no clock-watching, we love to see it ⏰
  • -v, --verbose β€” increase the level of detail in the output. may be specified multiple times to further increase verbosity. stack 'em like little accessories πŸŽ€
these options can also be set as machine-wide defaults in nvme-cli.conf(5). a command-line flag always overrides the file. always. no exceptions. periodt. πŸ’…

πŸ¦‹ EXAMPLES πŸ¦‹

  • show every exclusion list and its entries:
# nvme exclusion list
  • show the entries in the user list:
# nvme exclusion list --name user

πŸ”₯ SEE ALSO πŸ”₯

nvme-exclusion-add(1) nvme-exclusion-remove(1) nvme-exclusion-create(1) nvme-disconnect(1)


⭐ NVME ⭐

part of the nvme-user suite 🧚


and that's the whole page, bestie! brought to you by NVMe, dated 10/30/2026, filed under NVME-EXCLUSION-LIS(1). slay, read responsibly, and go check those exclusion lists πŸ’–βœ¨
πŸ“¦ where this page comes from