NVME-WDC-PURGE-MO(1)

πŸ¦‹ nvme-wdc-purge-monitor(1) β€” the WDC purge-monitor glow-up

okay so bestie, welcome to nvme-wdc-purge-monitor(1), aka the page where we ask a WDC drive "hey girl, how's that purge going?" and it actually tells us. this is part of the nvme-user suite and it's giving very niche-but-iconic πŸ’…


✨ NAME ✨

nvme-wdc-purge-monitor β€” send the NVMe WDC Purge-Monitor Vendor Unique Command, and get the result back πŸŽ€


✨ SYNOPSIS ✨

nvme [<global-options>] wdc purge-monitor <device>

that's it. that's the whole vibe. one device, one command, one answer 🫢


✨ DESCRIPTION ✨

so for the NVMe device you hand us, we send a Vendor Unique WDC Purge-Monitor command and hand you back the status of the purge command. literally just a vibe check for your purge πŸ”₯

here's the expected status + description tea, fr fr:

  • 0x00 β€” Purge State Idle. 😴
  • 0x01 β€” Purge State Done. βœ…
  • 0x02 β€” Purge State Busy. ⏳
  • 0x03 β€” Purge State Error : Purge operation resulted in error, power cycle required. πŸ’€ (yes, an actual power cycle, not a "did you try turning it off and on" metaphor)
  • 0x04 β€” Purge State Error : Purge operation interrupted by power cycle or reset. 😭

k so about <device>: it's mandatory, no skipping it, and it can be either the NVMe character device (ex: /dev/nvme0) or a namespace block device (ex: /dev/nvme0n1). both slay, pick your fighter πŸ’–

⚠️ real talk: this will only work on WDC devices supporting this feature. results for any other device are undefined β€” like, genuinely undefined, not "undefined but probably fine". don't come for me if you ignore this πŸ™ˆ

on success it returns 0. error code otherwise. periodt.


✨ OPTIONS ✨

No options yet.

yep, that's the whole section. she's minimal, she's clean, she's not taking questions 🧚


✨ GLOBAL OPTIONS ✨

these live at the top-level nvme command and are available to this subcommand too β€” so they're technically not ours, but they're absolutely invited to the party πŸŽ‰

  • --dry-run β€” prints the command that would be executed, but does not actually execute it. dress rehearsal only, no actual performance 🌸
  • --no-ioctl-probing β€” disables probing for 64-bit IOCTL support.
  • --no-retries β€” disables retry logic on transient errors. one shot, no second chances πŸ’…
  • -o <fmt>, --output-format=<fmt> β€” sets the reporting format to normal, tabular, 'json, or binary. only one output format may be used at a time, so don't get greedy πŸ“
  • --output-format-version=<version> β€” selects the output format version. version 1 uses the original field naming, while version 2 (default) provides more consistent and script-friendly field names. other versions are rejected β€” not "gently discouraged", rejected 😀
  • --quiet β€” suppresses informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level. she's quiet but she's still telling you when something breaks πŸ¦‹
  • --set-options=<key=value>[,<key=value>...] β€” sets libnvme library options for this invocation. supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir.
  • --timeout=<ms> β€” sets the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). no cap, literally ⭐
  • -v, --verbose β€” increases the level of detail in the output. may be specified multiple times to further increase verbosity. stack that -v, bestie, go off πŸ‘‘
πŸ“ 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 β€” CLI stays main character, always 🌈

✨ EXAMPLES ✨

  • Has the program issue WDC Purge-Monitor Vendor Unique Command :
# nvme wdc purge-monitor /dev/nvme0

one line, one device, chef's kiss 🀌


✨ NVME ✨

Part of the nvme-user suite. πŸ’œ


and that's the page!! go check on your purge, she's been waiting πŸŽ€βœ¨

this cutie came from the NVMe Manual, dated 10/30/2026 β€” that's the source/version and the date, and yes i'm telling you at the end like a proper sign-off because i'm nothing if not respectful of manpage conventions πŸ«ΆπŸ’–

πŸ“¦ where this page comes from