NVME-ZNS-SET-ZONE(1)

πŸ’– NAME πŸ’–

okay so this is the NVME-ZNS-SET-ZONE(1) page from the NVMe manual, and the command it's hyping up is nvme-zns-set-zone-desc β€” it sets extended descriptor data for a zone. bestie, that's the whole vibe. ✨


✨ SYNOPSIS ✨

nvme [<global-options>] zns set-zone-desc <device>
                        [--namespace-id=<NUM> | -n <NUM>]
                        [--start-lba=<IONUM>, -s <IONUM>]
                        [--zrwaa | -r]
                        [--data=<FILE>, -d <FILE>]

πŸ¦‹ DESCRIPTION πŸ¦‹

For the NVMe device you give it, this issues the Zone Management Send command with the Set Zone Descriptor Extensions action. The input will default to stdin β€” yes, it's giving pipe energy 🫢. Alternatively, the data may come from a file that can be specified. The data length will automatically be calculated from the zns identify namespace. no cap.


πŸ’… OPTIONS πŸ’…

  • -n <NUM>, --namespace-id=<NUM> β€” use the provided namespace id for the command. If not provided, the namespace id of the block device will be used. If the command is issued to a non-block device, the parameter is required. The broadcast value 0xffffffff can also be given as all or -1.
  • -s <lba>, --start-lba=<lba> β€” the starting LBA of the zone to manage send.
  • -r, --zrwaa β€” allocate Zone Random Write Area to zone.
  • -d <FILE>, --data=<FILE> β€” optional file for data (default stdin).

🌈 GLOBAL OPTIONS 🌈

The following options are defined at the top-level nvme command and are available to this subcommand:

  • --dry-run β€” print the command that would be executed, but do not actually execute it.
  • --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 may be used at a time.
  • --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. Other versions are rejected.
  • --quiet β€” suppress informational messages. Errors are still reported, and --quiet cancels any --verbose for the library log level.
  • --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).
  • -v, --verbose β€” increase the level of detail in the output. May be specified multiple times to further increase verbosity.

These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file.


πŸŽ€ EXAMPLES πŸŽ€

  • write "hello world" into the zone descriptor for namespace 1’s first zone (requires device supports a large enough zone extended data)
# echo "hello world" | nvme zns set-zone-desc /dev/nvme0 -n 1 -s 0

πŸ‘‘ NVME πŸ‘‘

Part of nvme-cli β€” iconic, honestly.

and that's the whole page, bestie πŸ’– this one comes from the NVMe manual, dated 10/30/2026, under the NVME-ZNS-SET-ZONE(1) title. go slay those zones 🫢

πŸ“¦ where this page comes from