---
name: "nvme-zns-set-zone-desc"
section: "1"
platform: "linux"
package: "nvme-cli"
version: "3.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/nvme-zns-set-zone-desc"
---

# nvme-zns-set-zone-desc(1)

Set extended descriptor data for a zone

## NAME

nvme-zns-set-zone-desc - Set extended descriptor data for a zone

## 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 given, issues the Zone Management Send command with the Set Zone Descriptor Extensions action. The input will default to stdin. Alternatively, the data may come from a file that can be specified. The data length will automatically be calculated from the zns identify namespace.

## 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)](/nvme-cli.conf/5.md). 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
