NVME-RESET(1)

🌸 NVME-RESET(1) β€” the nvme manual, but make it cute 🌸

okay bestie, welcome to nvme-reset(1), straight out of the NVMe Manual πŸ’… this is the little command that resets your NVMe controller and honestly? it's giving "have you tried turning it off and on again" but make it ✨enterprise✨


✨ NAME ✨

nvme-reset β€” Reset the nvme controller. that's it. that's the whole job. πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

nvme [<global-options>] reset <device>

like, you put reset in there, you point it at a device, and the controller gets a little spa day. no cap.


πŸ’– DESCRIPTION πŸ’–

So what does it actually do? It requests NVMe controller reset. πŸ“¨ That's the whole vibe.

The <device> param is mandatory β€” mandatory mandatory, not the cute optional kind β€” and it must be an NVMe character device (ex: /dev/nvme0). No random files, no vibes-based paths, only the real thing. πŸ™ˆ


πŸŽ€ OPTIONS πŸŽ€

πŸ’… GLOBAL OPTIONS

okay so these are defined at the top-level nvme command, which means they trickle down and are available to this subcommand too. iykyk. ⭐

  • --dry-run β€” Prints the command that would be executed, but doesn't actually execute it. main character energy of "i'm just gonna look at it". πŸ‘€
  • --no-ioctl-probing β€” Disables probing for 64-bit IOCTL support. bye bye probing πŸ”₯
  • --no-retries β€” Disables the retry logic on transient errors. one shot, no second chances, periodt πŸ’€
  • -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 β€” pick a lane bestie, only one πŸ™…β€β™€οΈ (yes, the quote mark before json is literally in the original, copy-paste it exactly fr fr)
  • --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. 🚫 v2 girlies stay winning.
  • --quiet β€” Suppresses informational messages. Errors are still reported, and --quiet cancels any --verbose for the library log level. they cannot coexist, it's one or the other, choose wisely 🫢
  • --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. custom keys, custom slay πŸ”‘
  • --timeout=<ms> β€” Sets the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). literally no time limit, time is a construct, we wait πŸ•°οΈ
  • -v, --verbose β€” Increases the level of detail in the output. May be specified multiple times to further increase verbosity. stack it, layer it, -vvv it, go off πŸ“ˆ
✨ bonus tea: these options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file. cli > file, every single time. πŸ’―

🌈 EXAMPLES 🌈

  • Resets the controller. honestly iconic behaviour.
# nvme reset /dev/nvme0

and that's it. that's the whole ritual. πŸ•―οΈ


πŸ‘‘ NVME πŸ‘‘

Part of the nvme-user suite. you're in good company bestie, this whole family is a vibe. 🌸


and that's a wrap on nvme-reset(1) from the NVMe manual, dated 10/30/2026 πŸ’œ go forth, reset some controllers, and remember: mandatory device param, /dev/nvme0-style character device only, and let --dry-run have its moment before you commit. slay πŸŽ€βœ¨

πŸ“¦ where this page comes from