NVME-LOG-CHANGED-(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’… NVME-LOG-CHANGED-(1) β€” the nvme-log-changed-alloc-ns-list glow-up

okay bestie, welcome to the NVMe Manual ✨ this one's all about pulling the Changed Allocated Namespace List log page off your drive. it's a whole vibe, let's get into it πŸŽ€


🌸 NAME 🌸

nvme-log-changed-alloc-ns-list β€” literally sends the NVMe Changed Allocated Namespace List log page request, and then hands you back the result and the log. two for one, we love that for us 🫢


✨ SYNOPSIS ✨

nvme [<global-options>] log changed-alloc-ns-list <device>
                        [--raw-binary | -b]

πŸ¦‹ DESCRIPTION πŸ¦‹

So the way this works: it retrieves the Changed Allocated Namespace List log page from an NVMe device and gives you the returned structure. that's it, that's the whole errand 🧚

The <device> parameter is mandatory β€” no cap, you can't skip it β€” and it has to be an NVMe character device (ex: /dev/nvme0). like, actual device node energy only πŸ’…

On success, the returned Changed Allocated Namespace List log structure may come back to you in one of several ways, depending on which option flags you picked:

  • the structure may get parsed by the program and printed in a readable format 🌈
  • or the raw buffer may be printed to stdout so another program can parse it πŸ‘‘

pick your fighter, bestie.


πŸ”₯ OPTIONS πŸ”₯

  • -b, --raw-binary β€” print the raw Changed Namespace List log buffer to stdout. raw, unfiltered, main character energy πŸ’€

πŸ‘‘ GLOBAL OPTIONS πŸ‘‘

these ones are defined up at the top-level nvme command, and yes, they're available to this subcommand too. slay πŸ’œ

  • --dry-run β€” print the command that would be executed, but do not actually execute it. window shopping, basically πŸ›οΈ
  • --no-ioctl-probing β€” disable probing for 64-bit IOCTL support.
  • --no-retries β€” disable retry logic on transient errors. one shot, no second chances 😭
  • -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 β€” don't get greedy πŸ™ˆ
  • --output-format-version=<version> β€” select the output format version. version 1 uses the original field naming, while version 2 (default) provides more consistent and script-friendly field names. any other versions get rejected, periodt 🚫
  • --quiet β€” suppress informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level. it's giving "i'm not reading all that" 🀫
  • --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). infinite patience era ⏳
  • -v, --verbose β€” increase the level of detail in the output. may be specified multiple times to further increase verbosity. yes you can stack it, go off πŸ“ˆ
heads up babes: 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 winning πŸ‘‘

🌟 EXAMPLES 🌟

  1. print the Changed Allocated Namespace List Log page in a human readable format:
# nvme log changed-alloc-ns-list /dev/nvme0
  1. print the raw Changed Allocated Namespace List log to a file:
# nvme log changed-alloc-ns-list /dev/nvme0 --raw-binary > log.raw
⚠️ fr fr, it is probably a bad idea to not redirect stdout when using this mode. like, please redirect it. i'm begging πŸ₯Ί

πŸ“ NVME πŸ“

part of the nvme-user suite πŸ’–


k bye bestie, go read those logs πŸ’…βœ¨ β€” this iconic little page is from the NVMe manual, dated 10/30/2026 πŸŽ€

πŸ“¦ where this page comes from