Blame Documentation/nvme-write.1

Packit dd4ba5
'\" t
Packit dd4ba5
.\"     Title: nvme-write
Packit dd4ba5
.\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
Packit dd4ba5
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
Packit dd4ba5
.\"      Date: 04/24/2020
Packit dd4ba5
.\"    Manual: NVMe Manual
Packit dd4ba5
.\"    Source: NVMe
Packit dd4ba5
.\"  Language: English
Packit dd4ba5
.\"
Packit dd4ba5
.TH "NVME\-WRITE" "1" "04/24/2020" "NVMe" "NVMe Manual"
Packit dd4ba5
.\" -----------------------------------------------------------------
Packit dd4ba5
.\" * Define some portability stuff
Packit dd4ba5
.\" -----------------------------------------------------------------
Packit dd4ba5
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit dd4ba5
.\" http://bugs.debian.org/507673
Packit dd4ba5
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
Packit dd4ba5
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit dd4ba5
.ie \n(.g .ds Aq \(aq
Packit dd4ba5
.el       .ds Aq '
Packit dd4ba5
.\" -----------------------------------------------------------------
Packit dd4ba5
.\" * set default formatting
Packit dd4ba5
.\" -----------------------------------------------------------------
Packit dd4ba5
.\" disable hyphenation
Packit dd4ba5
.nh
Packit dd4ba5
.\" disable justification (adjust text to left margin only)
Packit dd4ba5
.ad l
Packit dd4ba5
.\" -----------------------------------------------------------------
Packit dd4ba5
.\" * MAIN CONTENT STARTS HERE *
Packit dd4ba5
.\" -----------------------------------------------------------------
Packit dd4ba5
.SH "NAME"
Packit dd4ba5
nvme-write \- Send an NVMe write command, provide results
Packit dd4ba5
.SH "SYNOPSIS"
Packit dd4ba5
.sp
Packit dd4ba5
.nf
Packit dd4ba5
\fInvme\-write\fR <device> [\-\-start\-block=<slba> | \-s <slba>]
Packit dd4ba5
                        [\-\-block\-count=<nlb> | \-c <nlb>]
Packit dd4ba5
                        [\-\-data\-size=<size> | \-z <size>]
Packit dd4ba5
                        [\-\-metadata\-size=<size> | \-y <size>]
Packit dd4ba5
                        [\-\-ref\-tag=<reftag> | \-r <reftag>]
Packit dd4ba5
                        [\-\-data=<data\-file> | \-d <data\-file>]
Packit dd4ba5
                        [\-\-metadata=<metadata\-file> | \-M <metadata\-file>]
Packit dd4ba5
                        [\-\-prinfo=<prinfo> | \-p <prinfo>]
Packit dd4ba5
                        [\-\-app\-tag\-mask=<appmask> | \-m <appmask>]
Packit dd4ba5
                        [\-\-app\-tag=<apptag> | \-a <apptag>]
Packit dd4ba5
                        [\-\-limited\-retry | \-l]
Packit dd4ba5
                        [\-\-force\-unit\-access | \-f]
Packit dd4ba5
                        [\-\-dir\-type=<type> | \-T <type>]
Packit dd4ba5
                        [\-\-dir\-spec=<spec> | \-S <spec>]
Packit dd4ba5
                        [\-\-dsm=<dsm> | \-D <dsm>]
Packit dd4ba5
                        [\-\-show\-command | \-v]
Packit dd4ba5
                        [\-\-dry\-run | \-w]
Packit dd4ba5
                        [\-\-latency | \-t]
Packit dd4ba5
.fi
Packit dd4ba5
.SH "DESCRIPTION"
Packit dd4ba5
.sp
Packit dd4ba5
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\&.
Packit dd4ba5
.SH "OPTIONS"
Packit dd4ba5
.PP
Packit dd4ba5
\-\-start\-block=<slba>, \-s <slba>
Packit dd4ba5
.RS 4
Packit dd4ba5
Start block\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-\-block\-count, \-c
Packit dd4ba5
.RS 4
Packit dd4ba5
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)\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-\-data\-size=<size>, \-z <size>
Packit dd4ba5
.RS 4
Packit dd4ba5
Size of data, in bytes\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-\-metadata\-size=<size>, \-y <size>
Packit dd4ba5
.RS 4
Packit dd4ba5
Size of metadata in bytes\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-\-data=<data\-file>, \-d <data\-file>
Packit dd4ba5
.RS 4
Packit dd4ba5
Data file\&. If none provided, contents are sent from STDIN\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-\-metadata=<metadata\-file>, \-M <metadata\-file>
Packit dd4ba5
.RS 4
Packit dd4ba5
Metadata file, if necessary\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-\-prinfo=<prinfo>, \-p <prinfo>
Packit dd4ba5
.RS 4
Packit dd4ba5
Protection Information field definition\&.
Packit dd4ba5
.TS
Packit dd4ba5
allbox tab(:);
Packit dd4ba5
lt lt
Packit dd4ba5
lt lt
Packit dd4ba5
lt lt
Packit dd4ba5
lt lt
Packit dd4ba5
lt lt
Packit dd4ba5
lt lt.
Packit dd4ba5
T{
Packit dd4ba5
Bit
Packit dd4ba5
T}:T{
Packit dd4ba5
Description
Packit dd4ba5
T}
Packit dd4ba5
T{
Packit dd4ba5
3
Packit dd4ba5
T}:T{
Packit dd4ba5
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\&.
Packit dd4ba5
T}
Packit dd4ba5
T{
Packit dd4ba5
2:0
Packit dd4ba5
T}:T{
Packit dd4ba5
PRCHK: Protection Information Check:
Packit dd4ba5
T}
Packit dd4ba5
T{
Packit dd4ba5
2
Packit dd4ba5
T}:T{
Packit dd4ba5
Set to 1 enables checking the guard tag
Packit dd4ba5
T}
Packit dd4ba5
T{
Packit dd4ba5
1
Packit dd4ba5
T}:T{
Packit dd4ba5
Set to 1 enables checking the application tag
Packit dd4ba5
T}
Packit dd4ba5
T{
Packit dd4ba5
0
Packit dd4ba5
T}:T{
Packit dd4ba5
Set to 1 enables checking the reference tag
Packit dd4ba5
T}
Packit dd4ba5
.TE
Packit dd4ba5
.sp 1
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-\-ref\-tag=<reftag>, \-r <reftag>
Packit dd4ba5
.RS 4
Packit dd4ba5
Optional reftag when used with protection information\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-\-app\-tag\-mask=<appmask>, \-m <appmask>
Packit dd4ba5
.RS 4
Packit dd4ba5
Optional application tag mask when used with protection information\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-\-app\-tag=<apptag>, \-a <apptag>
Packit dd4ba5
.RS 4
Packit dd4ba5
Optional application tag when used with protection information\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-\-limited\-retry, \-l
Packit dd4ba5
.RS 4
Packit dd4ba5
Sets the limited retry flag\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-\-force\-unit\-access, \-f
Packit dd4ba5
.RS 4
Packit dd4ba5
Set the force\-unit access flag\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-T <type>, \-\-dir\-type=<type>
Packit dd4ba5
.RS 4
Packit dd4ba5
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\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-S <spec>, \-\-dir\-spec=<spec>
Packit dd4ba5
.RS 4
Packit dd4ba5
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\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-D <dsm>, \-\-dsm=<dsm>
Packit dd4ba5
.RS 4
Packit dd4ba5
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\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-v, \-\-show\-cmd
Packit dd4ba5
.RS 4
Packit dd4ba5
Print out the command to be sent\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-w, \-\-dry\-run
Packit dd4ba5
.RS 4
Packit dd4ba5
Do not actually send the command\&. If want to use \-\-dry\-run option, \-\-show\-cmd option
Packit dd4ba5
\fImust\fR
Packit dd4ba5
be set\&. Otherwise \-\-dry\-run option will be
Packit dd4ba5
\fIignored\fR\&.
Packit dd4ba5
.RE
Packit dd4ba5
.PP
Packit dd4ba5
\-t, \-\-latency
Packit dd4ba5
.RS 4
Packit dd4ba5
Print out the latency the IOCTL took (in us)\&.
Packit dd4ba5
.RE
Packit dd4ba5
.SH "EXAMPLES"
Packit dd4ba5
.sp
Packit dd4ba5
No examples yet\&.
Packit dd4ba5
.SH "NVME"
Packit dd4ba5
.sp
Packit dd4ba5
Part of the nvme\-user suite