# nvme-copy(1) Manual Page

## NAME

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

## SYNOPSIS

    nvme-copy <device> [--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>]
                            [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
                            [--timeout=<timeout> | -t <timeout>]

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

## OPTIONS

-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

-o <fmt>
--output-format=<fmt>

  Set the reporting format to normal, json or binary. Only one output format can be used at a time.

-v
--verbose

  Increase the information detail in the output.

-t <timeout>
--timeout=<timeout>

  Override default timeout value. In milliseconds.

## EXAMPLES

No examples yet.

## NVME

Part of the nvme-user suite