NVME-COPY(1)

NAME
nvme-copy - Send an NVMe Simple Copy command, provide results

SYNOPSIS

nvme [<global-options>] copy <device>
                        [--namespace-id=<nsid> | -n <nsid>]
                        [--sdlba=<sdlba> | -d <sdlba>]
                        [--blocks=<nlb-list,> | -b <nlb-list,>]
                        [--slbs=<slbas,> | -s <slbas,>]
                        [--snsids=<snsids,> | -N <snsids,>]
                        [--sopts=<sopts,> | -O <sopts,>]
                        [--limited-retry | -l]
                        [--force-unit-access | -f]
                        [--prinfow=<prinfow> | -p <prinfow>]
                        [--prinfor=<prinfor> | -P <prinfor>]
                        [--ref-tag=<reftag> | -r <reftag>]
                        [--expected-ref-tags=<reftag,> | -R <reftag,>]
                        [--app-tag=<apptag> | -a <apptag>]
                        [--expected-app-tags=<apptag,> | -A <apptag,>]
                        [--app-mask=<appmask> | -m <appmask>]
                        [--expected-app-masks=<appmask,> | -M <appmask,>]
                        [--dir-type=<type> | -T <type>]
                        [--dir-spec=<spec> | -S <spec>]
                        [--format=<entry-format> | -F <entry-format>]

DESCRIPTION

The Copy command is used by the host to copy data from one or more source logical block ranges to a single consecutive destination logical block range.

The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). If the character device is given, the '--namespace-id' option is mandatory, otherwise it will use the ns-id of the namespace for the block device you opened. For block devices, the ns-id used can be overridden with the same option.

OPTIONS

-n <nsid>, --namespace-id=<nsid>
    Sends the command with the requested nsid. This is required for the character devices, or overrides the block nsid if given.

-d <sdlba>, --sdlba=<sdlba>
    64-bit addr of first destination logical block

-b <nlb-list,>, --blocks=<nlb-list,>
    Comma separated list of the number of blocks in each range

-s <slbas,>, --slbs=<slbas,>
    Comma separated list of the starting blocks in each range

--snsids=<snsids,>, -N <snsids,>
    Comma separated list of the source namespace identifiers in each range

--sopts=<sopts,>, -O <sopts,>
    Comma separated list of the source options in each range

-l, --limited-retry
    Sets the limited retry flag.

-f, --force-unit-access
    Set the force-unit access flag.

-p <prinfow>, --prinfow=<prinfow>
    Protection Information field write definition.

-P <prinfor>, --prinfor=<prinfor>
    Protection Information field read definition.

-r <reftag>, --ref-tag=<reftag>
    initial lba reference tag.

-R <reftag,>, --expected-ref-tags=<reftag,>
    expected lba reference tags (comma-separated list).

-a <apptag>, --app-tag=<apptag>
    lba app tag

-A <apptag,>, --expected-app-tags=<apptag,>
    expected lba app tags (comma-separated list)

-m <appmask>, --app-mask=<appmask>
    lba tag mask

-M <appmask,>, --expected-app-masks=<appmask,>
    expected lba tag masks (comma-separated list)

-T <type>, --dir-type=<type>
    Optional directive type. The nvme-cli only enforces the value be in the defined range for the directive type, though the NVMe specification (1.3a) defines only one directive, 01h, for write stream identifiers.

-S <spec>, --dir-spec=<spec>
    Optional field for directive specifics. When used with write streams, this value is defined to be the write stream identifier. The nvme-cli will not validate the stream requested is within the controller’s capabilities.

-F <entry-format>, --format=<entry-format>
    source range entry format

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

No examples yet.

NVME

Part of the nvme-user suite