NVME-EXCLUSION-EDI(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’… nvme-exclusion-edit β€” the manual page, but make it make sense

okay so bestie, welcome to NVME-EXCLUSION-EDI(1) from the NVMe Manual ✨ this is the page where we learn how to open an NVMe-oF exclusion list in an editor. yes, like that. it's giving visudo energy and I'm obsessed πŸŽ€


🌸 NAME 🌸

nvme-exclusion-edit β€” literally: edit an NVMe-oF exclusion list in an editor πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

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

✨ DESCRIPTION ✨

so the vibe is: you open the NVMe-oF exclusion list named <NAME> in whatever editor the $EDITOR environment variable points at. it's the same spirit as visudo or crontab -e, iykyk 🫢 and if the list doesn't exist yet? no worries, a missing list is created. main character behavior fr.

here's the part where it gets lowkey genius: the list is edited through a private scratch copy and only installed by name when the editor exits. so nothing touches the real thing until you're done πŸ’…

on save, the result gets validated. if it contains a bad entry, you're offered the chance to re-open the editor and fix it β€” second chances, we love to see it 😭

and if the list changed on disk while you were editing? the save is refused. periodt. that way a concurrent editor's changes are never silently overwritten. no cap, that's a whole boundary.

whenever the changes are not saved, the scratch copy is kept and its path is printed, so your edits are recoverable. 🧚 never lose the work, bestie.

heads up: this command requires root. like, actual root. sorry not sorry πŸ‘‘

πŸŽ€ OPTIONS πŸŽ€

  • -N <NAME>, --name=<NAME> β€” the name of the exclusion list you wanna edit. omit it and you get the default list, which lives at /etc/nvme/exclusions.conf ⭐

🌈 GLOBAL OPTIONS 🌈

these bad boys are defined at the top-level nvme command and are available to this subcommand too, so you can absolutely bring them along πŸ’œ

  • --dry-run β€” print the command that would be executed, but don't actually execute it. it's giving "look but don't touch" πŸ™ˆ
  • --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, we do not mix πŸ’€
  • --output-format-version=<version> β€” select the output format version. version 1 uses the original field naming, while version 2 (the default) provides more consistent and script-friendly field names. other versions are rejected, so don't even try it 🚫
  • --quiet β€” suppress informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level.
  • --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. very "customize your experience" of it ✨
  • --timeout=<ms> β€” set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). patience is a virtue 🧘
  • -v, --verbose β€” increase the level of detail in the output. may be specified multiple times to further increase verbosity. stack 'em πŸ‘‘

oh and β€” these options can also be set as machine-wide defaults in nvme-cli.conf(5). a command-line flag always overrides the file. flag wins, every time πŸ†


πŸ”₯ EXAMPLES πŸ”₯

  • edit the user list:
# nvme exclusion edit --name user
  • use a specific editor:
# EDITOR=vi nvme exclusion edit --name user

πŸ’– SEE ALSO πŸ’–

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

go read those next, bestie, they're all part of the same friend group 🫢


πŸ‘‘ NVME πŸ‘‘

part of the nvme-user suite 🌟


and that's the whole page!! πŸ’… source/version is NVMe, dated 10/30/2026, page NVME-EXCLUSION-EDI(1) β€” mwah, love u, go edit some exclusion lists responsibly πŸ“βœ¨πŸ¦‹

πŸ“¦ where this page comes from