NVME-UNCOR(1)

πŸ’… nvme-uncor β€” like, the whole manual, bestie

okay so this is nvme-uncor(1) from the NVMe Manual πŸŽ€ β€” yes that manual, the nvme-cli one. buckle up, we're doing this together and honestly it's not even that deep.


✨ NAME ✨

nvme-write-uncor β€” send an NVMe write uncorrectable command, and yeah it returns results πŸ’–

πŸ¦‹ SYNOPSIS πŸ¦‹

nvme [<global-options>] write-uncor <device>
                        [--start-block=<slba> | -s <slba>]
                        [--block-count=<nlb> | -c <nlb>]
                        [--namespace-id=<nsid> | -n <nsid>]
                        [--dir-type=<dtype> | -T <dtype>]
                        [--dir-spec=<dspec> | -S <dspec>]

like, you give it a <device>, then sprinkle on whichever flags you need. every one is optional, no pressure periodt πŸ’…

🌸 DESCRIPTION 🌸

the Write Uncorrectable command does one thing and it's iconic: it invalidates a range of logical blocks. that's it. that's the whole vibe ✨

πŸŽ€ OPTIONS πŸŽ€

  • -s <slba>, --start-block=<slba> β€” the start block, like where the whole thing kicks off 🫢
  • -c, --block-count=<nlb> β€” number of logical blocks to write uncorrectable. lowkey the important one ngl
  • -n <nsid>, --namespace-id=<nsid> β€” the Namespace ID used in the command. and here's a fun one: the broadcast value 0xffffffff can also be given as all or -1 πŸ’–
  • -T <dtype>, --dir-type=<dtype> β€” Directive type
  • -S <dspec>, --dir-spec=<dspec> β€” Directive specific

πŸ‘‘ GLOBAL OPTIONS πŸ‘‘

these ones live at the top-level nvme command and are available to this subcommand too. like they're not ours, they're everybody's, but they still show up for us 🫢

  • --dry-run β€” print the command that would be executed, but do not 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 may be used at a time, so pick your fighter πŸ’…
  • --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 πŸ™ˆ
  • --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 πŸŽ€
  • --timeout=<ms> β€” set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff) ⏳
  • -v, --verbose β€” increase the level of detail in the output. may be specified multiple times to further increase verbosity, go off bestie πŸ”₯
heads up 🫢 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, no cap.

πŸ’€ EXAMPLES πŸ’€

No examples yet. (iconic of them honestly β€” when they drop, we'll be seated πŸ“)

🧚 NVME 🧚

part of the nvme-user suite πŸ’œ


and that's the whole page, bestie 🌈 sign-off time: this is the NVMe manual page, NVME-UNCOR(1), dated 10/30/2026. screenshot it, cite it, love it πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from