diff options
Diffstat (limited to '')
-rw-r--r-- | Documentation/nvme-write.1 | 224 |
1 files changed, 224 insertions, 0 deletions
diff --git a/Documentation/nvme-write.1 b/Documentation/nvme-write.1 new file mode 100644 index 0000000..64757b4 --- /dev/null +++ b/Documentation/nvme-write.1 @@ -0,0 +1,224 @@ +'\" t +.\" Title: nvme-write +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WRITE" "1" "02/14/2024" "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-write \- Send an NVMe write command, provide results +.SH "SYNOPSIS" +.sp +.nf +\fInvme\-write\fR <device> [\-\-start\-block=<slba> | \-s <slba>] + [\-\-block\-count=<nlb> | \-c <nlb>] + [\-\-data\-size=<size> | \-z <size>] + [\-\-metadata\-size=<size> | \-y <size>] + [\-\-ref\-tag=<reftag> | \-r <reftag>] + [\-\-data=<data\-file> | \-d <data\-file>] + [\-\-metadata=<metadata\-file> | \-M <metadata\-file>] + [\-\-prinfo=<prinfo> | \-p <prinfo>] + [\-\-app\-tag\-mask=<appmask> | \-m <appmask>] + [\-\-app\-tag=<apptag> | \-a <apptag>] + [\-\-limited\-retry | \-l] [\-\-force\-unit\-access | \-f] + [\-\-dir\-type=<type> | \-T <type>] + [\-\-dir\-spec=<spec> | \-S <spec>] [\-\-dsm=<dsm> | \-D <dsm>] + [\-\-show\-command | \-V] [\-\-dry\-run | \-w] [\-\-latency | \-t] + [\-\-storage\-tag<storage\-tag> | \-g <storage\-tag>] + [\-\-storage\-tag\-check | \-C] [\-\-force] + [\-\-output\-format=<fmt> | \-o <fmt>] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +The Write 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\(cqt provide a file\&. +.SH "OPTIONS" +.PP +\-s <slba>, \-\-start\-block=<slba> +.RS 4 +Start block\&. +.RE +.PP +\-c, \-\-block\-count +.RS 4 +The number of blocks to transfer\&. This is a zeroes based value to align with the kernel\(cqs use of this field\&. (ie\&. 0 means transfer 1 block)\&. +.RE +.PP +\-z <size>, \-\-data\-size=<size> +.RS 4 +Size of data, in bytes\&. +.RE +.PP +\-y <size>, \-\-metadata\-size=<size> +.RS 4 +Size of metadata in bytes\&. +.RE +.PP +\-d <data\-file>, \-\-data=<data\-file> +.RS 4 +Data file\&. If none provided, contents are sent from STDIN\&. +.RE +.PP +\-M <metadata\-file>, \-\-metadata=<metadata\-file> +.RS 4 +Metadata file, if necessary\&. +.RE +.PP +\-p <prinfo>, \-\-prinfo=<prinfo> +.RS 4 +Protection Information field definition\&. +.TS +allbox tab(:); +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +Bit +T}:T{ +Description +T} +T{ +3 +T}:T{ +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{ +2:0 +T}:T{ +PRCHK: Protection Information Check: +T} +T{ +2 +T}:T{ +Set to 1 enables checking the guard tag +T} +T{ +1 +T}:T{ +Set to 1 enables checking the application tag +T} +T{ +0 +T}:T{ +Set to 1 enables checking the reference tag +T} +.TE +.sp 1 +.RE +.PP +\-r <reftag>, \-\-ref\-tag=<reftag> +.RS 4 +Optional reftag when used with protection information\&. +.RE +.PP +\-m <appmask>, \-\-app\-tag\-mask=<appmask> +.RS 4 +Optional application tag mask when used with protection information\&. +.RE +.PP +\-a <apptag>, \-\-app\-tag=<apptag> +.RS 4 +Optional application tag when used with protection information\&. +.RE +.PP +\-l, \-\-limited\-retry +.RS 4 +Sets the limited retry flag\&. +.RE +.PP +\-f, \-\-force\-unit\-access +.RS 4 +Set the force\-unit access flag\&. +.RE +.PP +\-T <type>, \-\-dir\-type=<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 specification (1\&.3a) defines only one directive, 01h, for write stream identifiers\&. +.RE +.PP +\-S <spec>, \-\-dir\-spec=<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>, \-\-dsm=<dsm> +.RS 4 +The optional data set management attributes for this command\&. The argument for this is the least significant 8 bits of the DSM field in a write command; the most significant 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 +.PP +\-g <storage\-tag>, \-\-storage\-tag=<storage\-tag> +.RS 4 +Variable Sized Expected Logical Block Storage Tag(ELBST)\&. +.RE +.PP +\-C, \-\-storage\-tag\-check +.RS 4 +This flag enables Storage Tag field checking as part of end\-to\-end data protection processing\&. +.RE +.PP +\-\-force +.RS 4 +Ignore namespace is currently busy and performed the operation even though\&. +.RE +.PP +\-o <fmt>, \-\-output\-format=<fmt> +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR +or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.PP +\-v, \-\-verbose +.RS 4 +Increase the information detail in the output\&. +.RE +.SH "EXAMPLES" +.sp +No examples yet\&. +.SH "NVME" +.sp +Part of the nvme\-user suite |