Blame Documentation/nvme-compare.txt

Packit Service b7b338
nvme-compare(1)
Packit Service b7b338
===============
Packit Service b7b338
Packit Service b7b338
NAME
Packit Service b7b338
----
Packit Service b7b338
nvme-compare - Send an NVMe Compare command, provide results
Packit Service b7b338
Packit Service b7b338
SYNOPSIS
Packit Service b7b338
--------
Packit Service b7b338
[verse]
Packit Service b7b338
'nvme-compare' <device> [--start-block=<slba> | -s <slba>]
Packit Service b7b338
			[--block-count=<nlb> | -c <nlb>]
Packit Service b7b338
			[--data-size=<size> | -z <size>]
Packit Service b7b338
			[--metadata-size=<metasize> | -y <metasize>]
Packit Service b7b338
			[--ref-tag=<reftag> | -r <reftag>]
Packit Service b7b338
			[--data=<data-file> | -d <data-file>]
Packit Service b7b338
			[--metadata=<meta> | -M <meta>]
Packit Service b7b338
			[--prinfo=<prinfo> | -p <prinfo>]
Packit Service b7b338
			[--app-tag-mask=<appmask> | -m <appmask>]
Packit Service b7b338
			[--app-tag=<apptag> | -a <apptag>]
Packit Service b7b338
			[--limited-retry | -l]
Packit Service b7b338
			[--force-unit-access | -f]
Packit Service b7b338
			[--dir-type=<type> | -T <type>]
Packit Service b7b338
			[--dir-spec=<spec> | -S <spec>]
Packit Service b7b338
			[--dsm=<dsm> | -D <dsm>]
Packit Service b7b338
			[--show-command | -v]
Packit Service b7b338
			[--dry-run | -w]
Packit Service b7b338
			[--latency | -t]
Packit Service b7b338
Packit Service b7b338
DESCRIPTION
Packit Service b7b338
-----------
Packit Service b7b338
The Compare command reads the logical blocks specified by the command
Packit Service b7b338
from the medium and compares the data read to a comparison data buffer
Packit Service b7b338
transferred as part of the command. If the data read from the controller
Packit Service b7b338
and the comparison data buffer are equivalent with no miscompares,
Packit Service b7b338
then the command completes successfully. If there is any miscompare,
Packit Service b7b338
the command completes with an error of Compare Failure. If metadata is
Packit Service b7b338
provided, then a comparison is also performed for the metadata.
Packit Service b7b338
Packit Service b7b338
OPTIONS
Packit Service b7b338
-------
Packit Service b7b338
-s <slba>::
Packit Service b7b338
--start-block=<slba>::
Packit Service b7b338
	64-bit address of the first block to access.
Packit Service b7b338
Packit Service b7b338
-c <nlb>::
Packit Service b7b338
--block-count=<nlb>::
Packit Service b7b338
	Number of blocks to be accessed (zero-based).
Packit Service b7b338
Packit Service b7b338
-z <size>::
Packit Service b7b338
--data-size=<size>::
Packit Service b7b338
	Size of data to be compared in bytes.
Packit Service b7b338
Packit Service b7b338
-y <metasize>::
Packit Service b7b338
--metadata-size=<metasize>::
Packit Service b7b338
	Size of metadata to be trasnferred in bytes.
Packit Service b7b338
Packit Service b7b338
-r <reftag>::
Packit Service b7b338
--ref-tag=<regtag>::
Packit Service b7b338
	Reference Tag for Protection Information
Packit Service b7b338
Packit Service b7b338
-d <data-file>::
Packit Service b7b338
--data=<data-file>::
Packit Service b7b338
	Data file.
Packit Service b7b338
Packit Service b7b338
-M <meta>::
Packit Service b7b338
--metadata=<meta>::
Packit Service b7b338
	Metadata file.
Packit Service b7b338
Packit Service b7b338
-p <prinfo>::
Packit Service b7b338
--prinfo=<prinfo>::
Packit Service b7b338
	Protection Information and check field.
Packit Service b7b338
Packit Service b7b338
+
Packit Service b7b338
[]
Packit Service b7b338
|=================
Packit Service b7b338
|Bit|Description
Packit Service b7b338
|3|PRACT: Protection Information Action. When set to 1, PI is stripped/inserted
Packit Service b7b338
on read/write when the block format's metadata size is 8. When set to 0,
Packit Service b7b338
metadata is passes.
Packit Service b7b338
|2:0|PRCHK: Protection Information Check:
Packit Service b7b338
|2|Set to 1 enables checking the guard tag
Packit Service b7b338
|1|Set to 1 enables checking the application tag
Packit Service b7b338
|0|Set to 1 enables checking the reference tag
Packit Service b7b338
|=================
Packit Service b7b338
Packit Service b7b338
-m <appmask>::
Packit Service b7b338
--app-tag-mask=<appmask>::
Packit Service b7b338
	App Tag Mask for Protection Information
Packit Service b7b338
Packit Service b7b338
-a <apptag>::
Packit Service b7b338
--app-tag=<apptag>::
Packit Service b7b338
	App Tag for Protection Information
Packit Service b7b338
Packit Service b7b338
-l::
Packit Service b7b338
--limited-retry::
Packit Service b7b338
	Number of limited attempts to media.
Packit Service b7b338
Packit Service b7b338
-f::
Packit Service b7b338
--force-unit-access::
Packit Service b7b338
	FUA option to guarantee that data is stored to media.
Packit Service b7b338
Packit Service b7b338
-T <type>::
Packit Service b7b338
--dir-type=<type>::
Packit Service b7b338
	Optional directive type. The nvme-cli only enforces the value
Packit Service b7b338
	be in the defined range for the directive type, though the NVMe
Packit Service b7b338
	specifcation (1.3a) defines only one directive, 01h, for write
Packit Service b7b338
	stream idenfiers.
Packit Service b7b338
Packit Service b7b338
-S <spec>::
Packit Service b7b338
--dir-spec=<spec>::
Packit Service b7b338
	Optional field for directive specifics. When used with
Packit Service b7b338
	write streams, this value is defined to be the write stream
Packit Service b7b338
	identifier. The nvme-cli will not validate the stream requested
Packit Service b7b338
	is within the controller's capabilities.
Packit Service b7b338
Packit Service b7b338
-D <dsm>::
Packit Service b7b338
--dsm=<dsm>::
Packit Service b7b338
	The optional data set management attributes for this command. The
Packit Service b7b338
	argument for this is the lower 16 bits of the DSM field in a write
Packit Service b7b338
	command; the upper 16 bits of the field come from the directive
Packit Service b7b338
	specific field, if used. This may be used to set attributes for
Packit Service b7b338
	the LBAs being written, like access frequency, type, latency,
Packit Service b7b338
	among other things, as well as yet to be defined types. Please
Packit Service b7b338
	consult the NVMe specification for detailed breakdown of how to
Packit Service b7b338
	use this field.
Packit Service b7b338
Packit Service b7b338
-v::
Packit Service b7b338
--show-cmd::
Packit Service b7b338
	Print out the command to be sent.
Packit Service b7b338
Packit Service b7b338
-w::
Packit Service b7b338
--dry-run::
Packit Service b7b338
	Do not actually send the command. If want to use --dry-run option,
Packit Service b7b338
	--show-cmd option _must_ be set. Otherwise --dry-run option will be
Packit Service b7b338
	_ignored_.
Packit Service b7b338
Packit Service b7b338
-t::
Packit Service b7b338
--latency::
Packit Service b7b338
	Print out the latency the IOCTL took (in us).
Packit Service b7b338
Packit Service b7b338
EXAMPLES
Packit Service b7b338
--------
Packit Service b7b338
No examples yet.
Packit Service b7b338
Packit Service b7b338
NVME
Packit Service b7b338
----
Packit Service b7b338
Part of the nvme-user suite