NVME-LOG-MI-CMD-(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’– NVME-LOG-MI-CMD-SUPPORT-EFFECTS πŸ’–

okay bestie, so this whole page is part of the NVMe Manual, and it's literally all about the nvme-log-mi-cmd-support-effects command. yes that's a mouthful, no you don't have to say it out loud. let's get into it ✨


🌸 NAME 🌸

nvme-log-mi-cmd-support-effects β€” sends the NVMe MI Command Support and Effects log, and hands you back the results and the returned structure. periodt. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

nvme [<global-options>] log mi-cmd-support-effects <device>

that's it, that's the whole vibe. 🫢


✨ DESCRIPTION ✨

so for whatever NVMe device you point at, this sends an MI Command Support and Effects log (that's id 13h btw) and gives you back the result plus the returned log structure. iconic behaviour, honestly.

the <device> parameter is mandatory β€” like, you cannot skip it, it's the main character here 😭 β€” and it can be either:

  • the NVMe character device (ex: /dev/nvme0), or
  • a namespace block device (ex: /dev/nvme0n1)

on success, the structure may come back in one of several ways depending on the option flags you used β€” the structure may be parsed by the program, or the raw buffer may be printed to stdout. your call, bestie. πŸ’œ


πŸŽ€ OPTIONS πŸŽ€

πŸ‘‘ GLOBAL OPTIONS πŸ‘‘

these options are defined up at the top-level nvme command, and yes they're absolutely available to this subcommand too. shared custody, we love to see it 🌈

  • --dry-run β€” prints the command that would be executed, but does not actually execute it. window shopping, basically. πŸ›οΈ
  • --no-ioctl-probing β€” disables probing for 64-bit IOCTL support. no probing, no questions. 🚫
  • --no-retries β€” disables 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 may be used at a time β€” pick a lane, bestie. 🎯
  • --output-format-version=<version> β€” selects the output format version. version 1 uses the original field naming, while version 2 (the default) provides more consistent and script-friendly field names. any other versions are rejected β€” not on the list, not invited. πŸ™ˆ
  • --quiet β€” suppresses informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level. so if you're quiet-maxxing, verbose is cancelled. 😌
  • --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. mix and match, comma-separate them, go off. πŸ”₯
  • --timeout=<ms> β€” sets the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). no cap on the waiting, literally. ⏳
  • -v, --verbose β€” increases the level of detail in the output. may be specified multiple times to further increase verbosity β€” yes you can stack it, iykyk. πŸ“ˆ
✨ also: these options can be set as machine-wide defaults in nvme-cli.conf(5). and a command-line flag always overrides the file. always. no negotiating. πŸ’…

🧚 EXAMPLES 🧚

here's one to copy-paste directly into your terminal, you're welcome:

nvme log mi-cmd-support-effects /dev/nvme0 -v

look at you go, running commands with -v like a whole professional. obsessed. πŸ“


⭐ NVME ⭐

part of the nvme-user suite. one of us, one of us 🫢


and that's the tea, bestie πŸ’– this little page came to you from the NVMe source, version dated 10/30/2026, filed under NVME-LOG-MI-CMD-(1) β€” slay, go touch some NVMe devices, and drink water πŸŒΈπŸ’…βœ¨

πŸ“¦ where this page comes from