From f26f66d866ba1a9f3204e6fdfe2b07e67b5492ad Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 21:41:32 +0200 Subject: Adding upstream version 2.8. Signed-off-by: Daniel Baumann --- Documentation/nvme-admin-passthru.1 | 194 ++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 Documentation/nvme-admin-passthru.1 (limited to 'Documentation/nvme-admin-passthru.1') diff --git a/Documentation/nvme-admin-passthru.1 b/Documentation/nvme-admin-passthru.1 new file mode 100644 index 0000000..b057dec --- /dev/null +++ b/Documentation/nvme-admin-passthru.1 @@ -0,0 +1,194 @@ +'\" t +.\" Title: nvme-admin-passthru +.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] +.\" Generator: DocBook XSL Stylesheets vsnapshot +.\" Date: 02/14/2024 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-ADMIN\-PASSTHR" "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-admin-passthru \- Submit an arbitrary admin command, return results +.SH "SYNOPSIS" +.sp +.nf +\fInvme\-admin\-passthru\fR [\-\-opcode= | \-O ] + [\-\-flags= | \-f ] [\-rsvd= | \-R ] + [\-\-namespace\-id= | \-n ] [\-\-cdw2= | \-2 ] + [\-\-cdw3= | \-3 ] [\-\-cdw10= | \-4 ] + [\-\-cdw11= | \-5 ] [\-\-cdw12= | \-6 ] + [\-\-cdw13= | \-7 ] [\-\-cdw14= | \-8 ] + [\-\-cdw15= | \-9 ] + [\-\-data\-len= | \-l ] + [\-\-metadata\-len= | \-m ] + [\-\-input\-file= | \-i ] + [\-\-read | \-r] [\-\-write | \-w] + [\-\-timeout= | \-t ] + [\-\-show\-command | \-s] + [\-\-dry\-run | \-d] + [\-\-raw\-binary | \-b] + [\-\-prefill= | \-p ] + [\-\-latency | \-T] + [\-\-output\-format= | \-o ] [\-\-verbose | \-v] +.fi +.SH "DESCRIPTION" +.sp +Submits an arbitrary NVMe admin command and returns the applicable results\&. This may be the simply the commands result and status, or may also include a buffer if the command returns one\&. This command does no interpretation of the opcodes or options\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. +.sp +On success, the returned structure (if applicable) may be returned in one of several ways depending on the option flags; the structure may printed by the program as a hex dump, or may be returned as a raw buffer printed to stdout for another program to parse\&. +.SH "OPTIONS" +.PP +\-O , \-\-opcode= +.RS 4 +The NVMe opcode to send to the device in the command +.RE +.PP +\-f , \-\-flags= +.RS 4 +The NVMe command flags to send to the device in the command +.RE +.PP +\-R , \-\-rsvd= +.RS 4 +The value for the reserved field in the command\&. +.RE +.PP +\-n , \-\-namespace\-id= +.RS 4 +The value for the ns\-id in the command\&. +.RE +.PP +\-[2\-9] , \-\-cdw[2\-3,10\-15]= +.RS 4 +Specifies the command dword value for that specified entry in the command +.RE +.PP +\-r, \-\-read, \-w, \-\-write +.RS 4 +Used for the data\-direction for the command and required for commands sending/receiving data\&. Don\(cqt use both read and write at the same time\&. +.RE +.PP +\-i , \-\-input\-file= +.RS 4 +If the command is a data\-out (write) command, use this file to fill the buffer sent to the device\&. If no file is given, assumed to use STDIN\&. +.RE +.PP +\-l , \-\-data\-len= +.RS 4 +The data length for the buffer used for this command\&. +.RE +.PP +\-m , \-\-metadata\-len= +.RS 4 +The metadata length for the buffer used for this command\&. +.RE +.PP +\-s, \-\-show\-cmd +.RS 4 +Print out the command to be sent\&. +.RE +.PP +\-d, \-\-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 +\-b, \-\-raw\-binary +.RS 4 +Print the raw returned buffer to stdout if the command returns a structure\&. +.RE +.PP +\-p, \-\-prefill +.RS 4 +Prefill the buffer with a predetermined byte value\&. Defaults to 0\&. This may be useful if the data you are writing is shorter than the required buffer, and you need to pad it with a known value\&. It may also be useful if you need to confirm if a device is overwriting a buffer for a data\-in command\&. +.RE +.PP +\-T, \-\-latency +.RS 4 +Print out the latency the IOCTL took (in us)\&. +.RE +.PP +\-o , \-\-output\-format= +.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 +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +The following will run the admin command with opcode=6 and cdw10=1, which corresponds to an identify controller command\&. This example requires the data\-len param be 4096, which is the size of the returned structure\&. The \-r option is used because it is a data\-in command +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme admin\-passthru /dev/nvme0 \-\-opcode=06 \-\-data\-len=4096 \-\-cdw10=1 \-r +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Or if you want to save that structure to a file: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme admin\-passthru /dev/nvme0 \-\-opcode=06 \-\-data\-len=4096 \-\-cdw10=1 \-r \-b > id_ns\&.raw +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite -- cgit v1.2.3