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. The broadcast value 0xffffffff can also be given as all or -1.

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

  • 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