NVME-EXCLUSION-CRE(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’… NVME-EXCLUSION-CRE(1) β€” the nvme manual, bestie edition

okay so real talk, this page lives in the NVMe Manual and it's about making a brand-new exclusion list for NVMe-oF. yes queen, we're organizing.


✨ NAME ✨

nvme-exclusion-create β€” creates a shiny new NVMe-oF exclusion list πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

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

πŸ¦‹ DESCRIPTION πŸ¦‹

So you're creating a fresh, empty NVMe-oF exclusion list that we're calling <NAME>, and it gets stored at /etc/nvme/exclusions.conf.d/<NAME>.conf. That's the whole vibe. ✨

What even is an exclusion list? It's the list that names controllers that no orchestrator may auto-connect. Like a guest list but for controllers, and the bouncer actually respects it. For the format, the field keys, and the match semantics you gotta check the exclusion list overview in the libnvme documentation (EXCLUSIONS.md) β€” that's where the lore lives, iykyk.

🚨 heads up bestie: this command requires root. no root, no list. periodt.

πŸ’… OPTIONS πŸ’…

  • -N <NAME>, --name=<NAME> β€” Name of the exclusion list you're creating. literally just skip it if you want the default list (/etc/nvme/exclusions.conf). omitted means default, no cap.

🌈 GLOBAL OPTIONS 🌈

These ones are defined up at the top-level nvme command and they're available to this subcommand too. generous icons πŸ’–

  • --dry-run β€” prints the command it would have executed but doesn't actually do it. like a dress rehearsal, no commitment.
  • --no-ioctl-probing β€” turns off probing for 64-bit IOCTL support.
  • --no-retries β€” disables retry logic on transient errors. one shot, one opportunity.
  • -o <fmt>, --output-format=<fmt> β€” sets the reporting format to normal, tabular, 'json, or binary. only one output format at a time please, we can't do all of them, pick a lane. (yes 'json` is exactly how the original writes it, don't come for me πŸ™ˆ)
  • --output-format-version=<version> β€” picks the output format version. Version 1 uses the original field naming, while version 2 (the default) gives you more consistent and script-friendly field names. Other versions get rejected, sorry babe.
  • --quiet β€” suppresses informational messages. errors are still reported tho, obviously. and fun fact: --quiet cancels any --verbose for the library log level. they cannot coexist, it's giving opposites attract but make it a veto.
  • *--set-options=<key=value>[,<key=value>*...]** β€” sets libnvme library options for this invocation. supported keys are force-4k, mi-probe-enabled, test-base-dirandtest-sysfs-dir`.
  • --timeout=<ms> β€” timeout for the command, in milliseconds. infinite or -1 waits without a time limit (0xffffffff). no clock, no stress πŸ•°οΈ
  • -v, --verbose β€” increases the level of detail in the output. you can specify it multiple times to go even further. the way that verbosity compounds… iconic.

Also!! these options can be set as machine-wide defaults in nvme-cli.conf(5). and a command-line flag always overrides the file. always. no discussion. πŸ‘‘


πŸ“ EXAMPLES πŸ“

  • Create a list for controllers under maintenance:
# nvme exclusion create --name maintenance

🧚 SEE ALSO 🧚

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


πŸ‘‘ NVME πŸ‘‘

Part of the nvme-user suite. slay.


and that's the page pookie 🫢 β€” brought to you by the NVMe source, dated 10/30/2026, filed under NVME-EXCLUSION-CRE(1). go make that list, you're gonna ate πŸ’œ

πŸ“¦ where this page comes from