NVME-EXCLUSION-ADD(1)
π nvme-exclusion-add β the NVMe Manual, bestie edition β¨
okay so. you know how sometimes you just need a controller to Not Be Included? yeah. that's this. this is nvme-exclusion-add from the NVMe Manual, and it's literally just "put a thing on the do-not-connect list" energy. π«Ά
β¨ NAME β¨
nvme-exclusion-add β add an entry to an NVMe-oF exclusion list π«
π SYNOPSIS π
nvme [<global-options>] exclusion add [--name=<NAME> | -N <NAME>]
--entry=<ENTRY> | -e <ENTRY>
that's the whole vibe. nvme, maybe some global options, then exclusion add, then you gotta tell it which list and which entry. no cap. π
π¦ DESCRIPTION π¦
So here's the tea: this bad boy appends an entry to the NVMe-oF exclusion list named <NAME> β and if that list doesn't exist yet? It creates it. main character energy, honestly. π
The entry itself is a semicolon-separated list of key=value fields. A controller gets excluded when it matches every field present in the entry β so it's like an AND situation, not an OR situation. iykyk. π§
The recognized field keys are literally the nvme connect option names, and they are:
transporttraddrtrsvcidnqnhost-traddrhost-ifacehostnqnhostid
Only the fields you actually give are matched β so a single key excludes broadly, and more keys narrow the match. for real, that's the whole tradeoff. π―
π Want the full match semantics? Go read the exclusion list overview in EXCLUSIONS.md. it's giving "required reading".
Also, and this is important: the entry is validated before it is written. An entry with an unknown key, or with no recognized field at all, gets rejected. it's not mean, it's just keeping you safe. π
π This command requires root. like, actually. don't @ me.
π OPTIONS π
-N <NAME>,--name=<NAME>β the name of the exclusion list you're adding to. Omit it and you're adding to the default list at/etc/nvme/exclusions.conf. (yes, that's a real path, put it in your notes π)-e <ENTRY>,--entry=<ENTRY>β the actual entry you're adding, bestie. example:"transport=tcp;traddr=192.0.2.10;nqn=..."β cute, semicolon-separated, very demure.
π GLOBAL OPTIONS π
these live at the top-level nvme command, but they're available to this subcommand too. squad goals. π«Ά
--dry-runβ print the command that would be executed, but don't actually execute it. practice mode, zero consequences β¨--no-ioctl-probingβ disable probing for 64-bit IOCTL support.--no-retriesβ disable retry logic on transient errors. one shot, one opportunity π-o <fmt>,--output-format=<fmt>β set the reporting format tonormal,tabular,'json, orbinary. Only one output format at a time, pick a lane please. πΈ--output-format-version=<version>β select the output format version. Version1uses the original field naming, while version2(the default, she's iconic) provides more consistent and script-friendly field names. Other versions are rejected. no custom versions, sorry not sorry π--quietβ suppress informational messages. Errors are still reported, and--quietcancels any--verbosefor the library log level. shhhh π€«--set-options=<key=value>[,<key=value>...]β set libnvme library options for this invocation. Supported keys areforce-4k,mi-probe-enabled,test-base-dirandtest-sysfs-dir. the keys are, in fact, key. π--timeout=<ms>β set the timeout for the command in milliseconds.infiniteor-1waits without a time limit (0xffffffff). patience is a virtue etc etc β³-v,--verboseβ increase the level of detail in the output. May be specified multiple times to further increase verbosity. spam it, go off π
And ~bonus lore~: these options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file. always. periodt. π
π EXAMPLES π
- Exclude a single path to a subsystem β look at her, specifying everything:
# nvme exclusion add --name user \
--entry "transport=tcp;traddr=192.0.2.10;trsvcid=4420;nqn=nqn.2024-01.com.example:vol1"
- Exclude a whole subsystem on every transport and address β one key, broad match, so powerful:
# nvme exclusion add --name user --entry "nqn=nqn.2024-01.com.example:retired"
β SEE ALSO β
nvme-exclusion-remove(1) nvme-exclusion-list(1) nvme-exclusion-edit(1) nvme-disconnect(1)
go read those next, bestie, the lore is deep π
π NVME π
Part of the nvme-user suite. one of us, one of us π«Ά
and that's the whole page!! written with love from the NVMe squad, date-stamped 10/30/2026, and yes the manual section is NVME-EXCLUSION-ADD(1) β mwah ππ
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms