NVME-ZNS-ZRWA-FLU(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’… NVME-ZNS-ZRWA-FLU(1) β€” the nvme manual, but make it make sense πŸŽ€

okay so bestie, welcome to the man page for nvme-zns-zrwa-flush-zone, living under the big NVMe Manual umbrella. this one's a little niche but it ATE, i promise. let's get into it πŸ¦‹


✨ NAME ✨

nvme-zns-zrwa-flush-zone β€” flushes the LBAs associated with a ZRWA right on into a zone πŸ’«


✨ SYNOPSIS ✨

nvme [<global-options>] zns zrwa-flush-zone <device>
                        [--namespace-id=<NUM> | -n <NUM>]
                        [--lba=<LBA> | -l <LBA>]

✨ DESCRIPTION ✨

so like, for the NVMe device you hand it, this issues the Zone Management Send command with the "flush Zone" action. what that does is flush the zone that's opened as the zone random write area. no cap, that's literally the whole vibe. 🌸

the <device> parameter is mandatory β€” you cannot skip it, it's giving main character energy and it knows it. it can be either:

  • the NVMe character device, ex: /dev/nvme0 πŸ’–
  • or a namespace block device, ex: /dev/nvme0n1 🫢

✨ OPTIONS ✨

  • -n <NUM>, --namespace-id=<NUM> β€” use this namespace id for the command, bestie. if you don't provide it, the namespace id of the block device gets used instead ✨ and if you're issuing the command to a non-block device? then this parameter is required, periodt. also the broadcast value 0xffffffff can be given as all or -1, iconic behavior honestly πŸ‘‘
  • -l <lba>, --lba=<lba> β€” the LBA to flush up to 🎯

✨ GLOBAL OPTIONS ✨

these bad boys are defined at the top-level nvme command, and they're available to this subcommand too. group chat rules: what's theirs is yours πŸ’…

  • --dry-run β€” prints the command that would be executed, but does not actually execute it. it's giving window shopping πŸ›οΈ
  • --no-ioctl-probing β€” disables probing for 64-bit IOCTL support πŸ™ˆ
  • --no-retries β€” disables the retry logic on transient errors πŸ’€
  • -o <fmt>, --output-format=<fmt> β€” sets the reporting format to normal, tabular, 'json, or binary. only one output format at a time, no being greedy πŸ’–
  • --output-format-version=<version> β€” selects 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? rejected. bye πŸ‘‹
  • --quiet β€” suppresses informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level 🀫
  • --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) ⏳
  • -v, --verbose β€” increases the level of detail in the output. you can specify it multiple times to further increase verbosity β€” go off, be as loud as you want πŸ“’
ngl this is the important bit: these options can also be set as machine-wide defaults in nvme-cli.conf(5). a command-line flag always overrides the file. always. no exceptions πŸ”₯

✨ EXAMPLES ✨

  • flush the first zrwa of the first zone for zrwacg(15) on namespace 1:
# nvme zns zrwa-flush-zone /dev/nvme0 -n 1 -l 15

✨ NVME ✨

part of nvme-cli πŸ‘‘


and that's the whole page, bestie!! 🌈 this one came from the NVMe gang, dated 10/30/2026, and it was a whole serve. now go flush that zone and slay πŸ’œβœ¨πŸŽ€

πŸ“¦ where this page comes from