NVME-OCP-ERROR-RE(1)

πŸ’… nvme-ocp-error-recovery-log β€” like, the OCP Error Recovery Log Page getter

okay so bestie, welcome to nvme-ocp-error-recovery-log(1) from the NVMe Manual, and yes we are gonna read the whole thing together 🫢


✨ NAME ✨

nvme-ocp-error-recovery-log β€” literally just retrieves the OCP Error Recovery Log Page. that's the whole gig πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

nvme [<global-options>] ocp error-recovery-log <device> [--no-uuid | -n]

🌸 DESCRIPTION 🌸

so you point it at an NVMe device and it goes and grabs the OCP Error Recovery Log Page for you. iconic behaviour, no notes ✨

the <device> parameter is mandatory β€” you literally cannot skip it, bestie β€” and it can be either the NVMe character device (like /dev/nvme0) or the block device (like /dev/nvme0n1). either one slays.

⚠️ heads up: this only works on OCP compliant devices that support this feature. for any other device the results are undefined β€” so like, don't come for me if your random disk gives you nonsense 😭

on success it returns 0, and an error code otherwise. periodt.


πŸŽ€ OPTIONS πŸŽ€

  • -n, --no-uuid β€” don't try to automatically detect the UUID index for this command. this one's required for old OCP 1.0 support, so if you're on ancient OCP vibes, this flag is your bestie 🧚

πŸ’œ GLOBAL OPTIONS πŸ’œ

these ones are defined up at the top-level nvme command, but they're available to this subcommand too. group-chat-wide settings, yk? πŸ‘‘

  • --dry-run β€” print the command that would be executed, but don't actually execute it. all the plot, no consequences πŸ’€
  • --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 at a time please, we don't do multitasking here πŸ™ˆ
  • --output-format-version=<version> β€” select 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 gets rejected β€” sorry babe, not on the menu πŸ’…
  • --quiet β€” suppress informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level. so it's like, a vibe silencer πŸ”‡
  • --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) β€” like, forever-forever ⏳
  • -v, --verbose β€” increase the level of detail in the output. you can specify it multiple times to further increase verbosity. more -v = more lore πŸ”₯
🫢 little note: these options can also be set as machine-wide defaults in nvme-cli.conf(5). and a command-line flag always overrides the file β€” CLI stays the main character πŸ‘‘

🌈 EXAMPLES 🌈

  • has the program issue a error-recovery-log command to retrieve the 0xC1 log page.
# nvme ocp error-recovery-log /dev/nvme0 -o normal

⭐ NVME ⭐

part of the nvme-user suite. you're welcome πŸ’–


okay that's the whole page, bestie β€” go forth and read those logs ✨

bye bestie πŸŽ€ this was the NVMe Manual version, dated 10/30/2026, page NVME-OCP-ERROR-RE(1) β€” mwah πŸ’‹

πŸ“¦ where this page comes from