nvme-zns-zone-append(1)

# nvme-zns-zone-append(1) Manual Page

## NAME

nvme-zns-zone-append - Send an NVMe write command, provide results

## SYNOPSIS

    nvme [<global-options>] zns zone-append <device>
                            [--namespace-id=<NUM> | -n <NUM>]
                                    [--zslba=<IONUM> | -s <IONUM>]
                                    [--data-size=<IONUM> | -z <IONUM>]
                                    [--metadata-size=<IONUM> | -y <IONUM>]
                                    [--data=<FILE> | -d <FILE>]
                                    [--metadata=<FILE> | -M <FILE>]
                                    [--limited-retry | -l]
                                    [--force-unit-access | -f]
                                    [--ref-tag=<NUM> | -r <NUM>]
                                    [--app-tag-mask=<NUM> | -m <NUM>]
                                    [--app-tag=<NUM> | -a <NUM>]
                                    [--prinfo=<NUM> | -p <NUM>]

## DESCRIPTION

The zone append command writes the logical blocks specified by the command to the medium from the data data buffer provided. Will use stdin by default if you don’t provide a file.

On success, the program will report the LBA that was assigned to the data for the append operation.

## 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.

-s <IONUM>
--zslba=<IONUM>
-z <IONUM>
--data-size=<IONUM>

  Size of data, in bytes.

-y <IONUM>
--metadata-size=<IONUM>

  Size of metadata in bytes.

-d <FILE>
--data=<FILE>

  Data file providing the data to write. If none provided, contents are sent from STDIN.

-M <FILE>
--metadata=<FILE>

  Metadata file, if necessary.

-l
--limited-retry

  Sets the limited retry flag.

-f
--force-unit-access

  Set the force-unit access flag.

-r <NUM>
--ref-tag=<NUM>

  Optional reftag when used with protection information.

-m <NUM>
--app-tag-mask=<NUM>

  Optional application tag mask when used with protection information.

-a <NUM>
--app-tag=<NUM>

  Optional application tag when used with protection information.

-p <NUM>
--prinfo=<NUM>

  Protection Information field definition.

## 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.

--timeout=<ms>

  Set the timeout for the command in milliseconds.

-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

- Append the data "hello world" into 4k worth of blocks into the zone starting at block 0 for namespace 1:

      # echo "hello world" | nvme zns zone-append /dev/nvme0 -n 1 -s 0 -z 4k

## NVME

Part of the nvme-user suite