From dc597ce8df5ae6efd2728a2d7ba7d92486028f79 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 2 Jul 2021 22:40:30 +0200 Subject: Adding upstream version 1.12. Signed-off-by: Daniel Baumann --- Documentation/nvme-compare.1 | 210 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 Documentation/nvme-compare.1 (limited to 'Documentation/nvme-compare.1') diff --git a/Documentation/nvme-compare.1 b/Documentation/nvme-compare.1 new file mode 100644 index 0000000..0f1c6ff --- /dev/null +++ b/Documentation/nvme-compare.1 @@ -0,0 +1,210 @@ +'\" t +.\" Title: nvme-compare +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 04/24/2020 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-COMPARE" "1" "04/24/2020" "NVMe" "NVMe Manual" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +nvme-compare \- Send an NVMe Compare command, provide results +.SH "SYNOPSIS" +.sp +.nf +\fInvme\-compare\fR [\-\-start\-block= | \-s ] + [\-\-block\-count= | \-c ] + [\-\-data\-size= | \-z ] + [\-\-metadata\-size= | \-y ] + [\-\-ref\-tag= | \-r ] + [\-\-data= | \-d ] + [\-\-metadata= | \-M ] + [\-\-prinfo= | \-p ] + [\-\-app\-tag\-mask= | \-m ] + [\-\-app\-tag= | \-a ] + [\-\-limited\-retry | \-l] + [\-\-force\-unit\-access | \-f] + [\-\-dir\-type= | \-T ] + [\-\-dir\-spec= | \-S ] + [\-\-dsm= | \-D ] + [\-\-show\-command | \-v] + [\-\-dry\-run | \-w] + [\-\-latency | \-t] +.fi +.SH "DESCRIPTION" +.sp +The Compare command reads the logical blocks specified by the command from the medium and compares the data read to a comparison data buffer transferred as part of the command\&. If the data read from the controller and the comparison data buffer are equivalent with no miscompares, then the command completes successfully\&. If there is any miscompare, the command completes with an error of Compare Failure\&. If metadata is provided, then a comparison is also performed for the metadata\&. +.SH "OPTIONS" +.PP +\-s , \-\-start\-block= +.RS 4 +64\-bit address of the first block to access\&. +.RE +.PP +\-c , \-\-block\-count= +.RS 4 +Number of blocks to be accessed (zero\-based)\&. +.RE +.PP +\-z , \-\-data\-size= +.RS 4 +Size of data to be compared in bytes\&. +.RE +.PP +\-y , \-\-metadata\-size= +.RS 4 +Size of metadata to be trasnferred in bytes\&. +.RE +.PP +\-r , \-\-ref\-tag= +.RS 4 +Reference Tag for Protection Information +.RE +.PP +\-d , \-\-data= +.RS 4 +Data file\&. +.RE +.PP +\-M , \-\-metadata= +.RS 4 +Metadata file\&. +.RE +.PP +\-p , \-\-prinfo= +.RS 4 +Protection Information and check field\&. +.RE +.sp ++ +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +.sp +Bit +T}:T{ +.sp +Description +T} +T{ +.sp +3 +T}:T{ +.sp +PRACT: Protection Information Action\&. When set to 1, PI is stripped/inserted on read/write when the block format\(cqs metadata size is 8\&. When set to 0, metadata is passes\&. +T} +T{ +.sp +2:0 +T}:T{ +.sp +PRCHK: Protection Information Check: +T} +T{ +.sp +2 +T}:T{ +.sp +Set to 1 enables checking the guard tag +T} +T{ +.sp +1 +T}:T{ +.sp +Set to 1 enables checking the application tag +T} +T{ +.sp +0 +T}:T{ +.sp +Set to 1 enables checking the reference tag +T} +.TE +.sp 1 +.PP +\-m , \-\-app\-tag\-mask= +.RS 4 +App Tag Mask for Protection Information +.RE +.PP +\-a , \-\-app\-tag= +.RS 4 +App Tag for Protection Information +.RE +.PP +\-l, \-\-limited\-retry +.RS 4 +Number of limited attempts to media\&. +.RE +.PP +\-f, \-\-force\-unit\-access +.RS 4 +FUA option to guarantee that data is stored to media\&. +.RE +.PP +\-T , \-\-dir\-type= +.RS 4 +Optional directive type\&. The nvme\-cli only enforces the value be in the defined range for the directive type, though the NVMe specifcation (1\&.3a) defines only one directive, 01h, for write stream idenfiers\&. +.RE +.PP +\-S , \-\-dir\-spec= +.RS 4 +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\(cqs capabilities\&. +.RE +.PP +\-D , \-\-dsm= +.RS 4 +The optional data set management attributes for this command\&. The argument for this is the lower 16 bits of the DSM field in a write command; the upper 16 bits of the field come from the directive specific field, if used\&. This may be used to set attributes for the LBAs being written, like access frequency, type, latency, among other things, as well as yet to be defined types\&. Please consult the NVMe specification for detailed breakdown of how to use this field\&. +.RE +.PP +\-v, \-\-show\-cmd +.RS 4 +Print out the command to be sent\&. +.RE +.PP +\-w, \-\-dry\-run +.RS 4 +Do not actually send the command\&. If want to use \-\-dry\-run option, \-\-show\-cmd option +\fImust\fR +be set\&. Otherwise \-\-dry\-run option will be +\fIignored\fR\&. +.RE +.PP +\-t, \-\-latency +.RS 4 +Print out the latency the IOCTL took (in us)\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite -- cgit v1.2.3