NVME-NS-DELETE(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’– nvme-ns-delete β€” the "bye bitch, delete that namespace" page πŸ’–

okay so bestie, you're looking at nvme-ns-delete from the NVMe Manual β€” it's a page in the nvme command's little universe, and it's literally the "send an NVMe Namespace Management delete namespace command, then tell you how it went" page. The whole point is: you point it at a device, you tell it which namespace id, it nukes it and hands you the result. That's the tea. πŸ«–


✨ SYNOPSIS ✨

nvme [<global-options>] ns delete <device>
                        [--namespace-id=<nsid> | -n <nsid>]

like, that's the whole shape of it. <device> first, then your namespace id flag. slay. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so for whatever NVMe device you hand it, this thing sends an nvme namespace management command to delete the namespace you asked for, and then provides the result back to you. that's it. that's the whole job. πŸ’€

the <device> parameter is mandatory β€” no skipsies β€” and it can be either:

  • the NVMe character device, ex: /dev/nvme0 πŸŽ€
  • or a namespace block device, ex: /dev/nvme0n1 🌸

and the --namespace-id option is also mandatory. both. you need both. no cap. 🫢


πŸ‘‘ OPTIONS πŸ‘‘

  • -n <nsid>, --namespace-id=<nsid> β€” the namespace identifier you wanna delete. and here's the iconic part: the broadcast value 0xffffffff can also be given as all or -1. so you got three ways to say "everybody". pick your fighter. ⭐

🌈 GLOBAL OPTIONS 🌈

these ones are defined up at the top-level nvme command, and they're available to this subcommand too, so you get them for free bestie:

  • --dry-run β€” prints the command that would be executed, but doesn't actually execute it. it's giving window shopping. πŸ›οΈ
  • --no-ioctl-probing β€” disables probing for 64-bit IOCTL support. πŸ”§
  • --no-retries β€” kills the 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 though, so no greedy behaviour. πŸ’…
  • --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. any other version? rejected. not even a maybe. πŸ’€
  • --quiet β€” suppresses informational messages. errors still get reported though (sorry, you can't hide from those). and heads up: --quiet cancels any --verbose for the library log level. they do not coexist. πŸ™ˆ
  • --set-options=<key=value>[,<key=value>...] β€” sets libnvme library options for this invocation. the supported keys are force-4k, mi-probe-enabled, test-base-dir, and test-sysfs-dir. fancy. πŸŽ€
  • --timeout=<ms> β€” sets the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). no clock-watching energy. ⏳
  • -v, --verbose β€” increases the level of detail in the output. you can specify it multiple times to go even further into detail mode. main character energy, the more the merrier. πŸ”₯
oh and also β€” these options can be set as machine-wide defaults in nvme-cli.conf(5). but a command-line flag always overrides the file. flags win, every time. periodt. πŸ‘‘

🧚 EXAMPLES 🧚

no examples yet. 😭 like, genuinely nothing here. she's mysterious. when examples show up they'll be iconic, but today? today we have vibes only. ✨


πŸ’œ NVME πŸ’œ

part of the nvme-user suite. 🫢


and that's the page bestie! this one came from the NVMe manual, dated 10/30/2026 β€” go forth and delete responsibly (or use --dry-run first, ngl that's the move). πŸ¦‹πŸŒΈπŸ’–

πŸ“¦ where this page comes from