Merging upstream version 1.14.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
868b5312e8
commit
d6fd2fdea9
305 changed files with 20664 additions and 6099 deletions
18
.github/workflows/c-cpp.yml
vendored
Normal file
18
.github/workflows/c-cpp.yml
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
name: C/C++ CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: make
|
||||
run: sudo apt-get install gcc-10-powerpc* && make clean && make && make clean && make LD=powerpc64le-linux-gnu-ld CC=powerpc64le-linux-gnu-gcc-10 CFLAGS='-O2 -g -Wall -Wformat-security -Werror -m64 -mcpu=power8 -mtune=power8 -I -I/usr/powerpc64-linux-gnu/include/'
|
||||
|
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -5,6 +5,9 @@ a.out
|
|||
*~
|
||||
*.swp
|
||||
NVME-VERSION-FILE
|
||||
nvme.spec
|
||||
nvme-*.tar.gz
|
||||
version
|
||||
|
||||
cscope.*
|
||||
|
||||
|
|
|
@ -17,7 +17,10 @@ linknvme:nvme-format[1]::
|
|||
Format namespace(s)
|
||||
|
||||
linknvme:nvme-fw-activate[1]::
|
||||
F/W Activate
|
||||
F/W Activate (in old version < 1.2)
|
||||
|
||||
linknvme:nvme-fw-commit[1]::
|
||||
F/W Commit (in > 1.2)
|
||||
|
||||
linknvme:nvme-fw-download[1]::
|
||||
F/W Download
|
||||
|
@ -34,15 +37,24 @@ linknvme:nvme-get-log[1]::
|
|||
linknvme:nvme-telemetry-log[1]::
|
||||
Telemetry Host-Initiated Log
|
||||
|
||||
linknvme:nvme-changed-ns-list-log[1]::
|
||||
Retrieve Changed Namespace List Log
|
||||
|
||||
linknvme:nvme-smart-log[1]::
|
||||
Retrieve Smart Log
|
||||
|
||||
linknvme:nvme-ana-log[1]::
|
||||
Retreive ANA(Asymmetric Namespace Access) Log
|
||||
|
||||
linknvme:nvme-endurance-log[1]::
|
||||
Retrieve endurance Log
|
||||
|
||||
linknvme:nvme-effects-log[1]::
|
||||
Retrieve effects Log
|
||||
|
||||
linknvme:nvme-self-test-log[1]::
|
||||
Retrieve Device Self-test Log
|
||||
|
||||
linknvme:nvme-get-ns-id[1]::
|
||||
Retrieve namespace identifier
|
||||
|
||||
|
@ -55,6 +67,12 @@ linknvme:nvme-id-ctrl[1]::
|
|||
linknvme:nvme-id-ns[1]::
|
||||
Identify Namespace
|
||||
|
||||
linknvme:nvme-id-nvmset[1]::
|
||||
Identify NVM Set List
|
||||
|
||||
linknvme:nvme-id-iocs[1]::
|
||||
Identify I/O Command Set
|
||||
|
||||
linknvme:nvme-create-ns[1]::
|
||||
Create a new namespace
|
||||
|
||||
|
@ -82,6 +100,15 @@ linknvme:nvme-list[1]::
|
|||
linknvme:nvme-list-ctrl[1]::
|
||||
List controller in NVMe subsystem
|
||||
|
||||
linknvme:nvme-list-subsys[1]::
|
||||
List NVMe subsystems
|
||||
|
||||
linknvme:nvme-reset[1]::
|
||||
Reset a NVMe controller
|
||||
|
||||
linknvme:nvme-device-self-test[1]::
|
||||
Issue Device Self-test Command
|
||||
|
||||
linknvme:nvme-read[1]::
|
||||
Issue IO Read Command
|
||||
|
||||
|
@ -112,6 +139,12 @@ linknvme:nvme-security-recv[1]::
|
|||
linknvme:nvme-security-send[1]::
|
||||
Security Send
|
||||
|
||||
linknvme:nvme-dsm[1]::
|
||||
Issue Data Set Management Command
|
||||
|
||||
linknvme:nvme-copy[1]::
|
||||
Issue Simple Copy Command
|
||||
|
||||
linknvme:nvme-set-feature[1]::
|
||||
Set Feature
|
||||
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-admin-passthru
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-ADMIN\-PASSTHR" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-ADMIN\-PASSTHR" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-ana-log
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-ANA\-LOG" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-ANA\-LOG" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-attach-ns
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-ATTACH\-NS" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-ATTACH\-NS" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-changed-ns-list-log
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-CHANGED\-NS\-L" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-CHANGED\-NS\-L" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-compare
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-COMPARE" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-COMPARE" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-connect-all
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/29/2020
|
||||
.\" Date: 01/20/2021
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-CONNECT\-ALL" "1" "04/29/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-CONNECT\-ALL" "1" "01/20/2021" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
@ -51,7 +51,7 @@ nvme-connect-all \- Discover and Connect to Fabrics controllers\&.
|
|||
[\-\-queue\-size=<#> | \-Q <#>]
|
||||
[\-\-matching | \-m]
|
||||
[\-\-persistent | \-p]
|
||||
[\-\-quiet | \-q]
|
||||
[\-\-quiet | \-S]
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
|
@ -72,6 +72,7 @@ allbox tab(:);
|
|||
lt lt
|
||||
lt lt
|
||||
lt lt
|
||||
lt lt
|
||||
lt lt.
|
||||
T{
|
||||
Value
|
||||
|
@ -90,6 +91,11 @@ T}:T{
|
|||
The network fabric is a Fibre Channel network\&.
|
||||
T}
|
||||
T{
|
||||
tcp
|
||||
T}:T{
|
||||
The network fabric is a TCP/IP network\&.
|
||||
T}
|
||||
T{
|
||||
loop
|
||||
T}:T{
|
||||
Connect to a NVMe over Fabrics target on the local host
|
||||
|
@ -187,7 +193,7 @@ If a traddr was specified on the command line or in the configuration file, only
|
|||
Don\(cqt remove the discovery controller after retrieving the discovery log page\&.
|
||||
.RE
|
||||
.PP
|
||||
\-q, \-\-quiet
|
||||
\-S, \-\-quiet
|
||||
.RS 4
|
||||
Suppress error messages\&.
|
||||
.RE
|
||||
|
|
|
@ -768,7 +768,7 @@ nvme-connect-all(1) Manual Page
|
|||
[--queue-size=<#> | -Q <#>]
|
||||
[--matching | -m]
|
||||
[--persistent | -p]
|
||||
[--quiet | -q]</pre>
|
||||
[--quiet | -S]</pre>
|
||||
<div class="attribution">
|
||||
</div></div>
|
||||
</div>
|
||||
|
@ -825,6 +825,10 @@ cellspacing="0" cellpadding="4">
|
|||
<td align="left" valign="top"><p class="table"><strong>WIP</strong> The network fabric is a Fibre Channel network.</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top"><p class="table">tcp</p></td>
|
||||
<td align="left" valign="top"><p class="table">The network fabric is a TCP/IP network.</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top"><p class="table">loop</p></td>
|
||||
<td align="left" valign="top"><p class="table">Connect to a NVMe over Fabrics target on the local host</p></td>
|
||||
</tr>
|
||||
|
@ -1044,7 +1048,7 @@ cellspacing="0" cellpadding="4">
|
|||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
-q
|
||||
-S
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
--quiet
|
||||
|
@ -1111,7 +1115,7 @@ nvme-connect(1)</p></div>
|
|||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2020-04-29 22:28:00 CEST
|
||||
2021-01-20 23:40:57 CET
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -27,7 +27,7 @@ SYNOPSIS
|
|||
[--queue-size=<#> | -Q <#>]
|
||||
[--matching | -m]
|
||||
[--persistent | -p]
|
||||
[--quiet | -q]
|
||||
[--quiet | -S]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
@ -58,6 +58,7 @@ OPTIONS
|
|||
|Value|Definition
|
||||
|rdma|The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc)
|
||||
|fc |*WIP* The network fabric is a Fibre Channel network.
|
||||
|tcp |The network fabric is a TCP/IP network.
|
||||
|loop|Connect to a NVMe over Fabrics target on the local host
|
||||
|=================
|
||||
|
||||
|
@ -153,7 +154,7 @@ OPTIONS
|
|||
Don't remove the discovery controller after retrieving the discovery
|
||||
log page.
|
||||
|
||||
-q::
|
||||
-S::
|
||||
--quiet::
|
||||
Suppress error messages.
|
||||
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-connect
|
||||
.\" Author: [see the "AUTHORS" section]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-CONNECT" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-CONNECT" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
@ -65,6 +65,7 @@ allbox tab(:);
|
|||
lt lt
|
||||
lt lt
|
||||
lt lt
|
||||
lt lt
|
||||
lt lt.
|
||||
T{
|
||||
Value
|
||||
|
@ -83,6 +84,11 @@ T}:T{
|
|||
The network fabric is a Fibre Channel network\&.
|
||||
T}
|
||||
T{
|
||||
tcp
|
||||
T}:T{
|
||||
The network fabric is a TCP/IP network\&.
|
||||
T}
|
||||
T{
|
||||
loop
|
||||
T}:T{
|
||||
Connect to a NVMe over Fabrics target on the local host
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<meta name="generator" content="AsciiDoc" />
|
||||
<title>nvme-connect(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
@ -816,6 +816,10 @@ cellspacing="0" cellpadding="4">
|
|||
<td align="left" valign="top"><p class="table"><strong>WIP</strong> The network fabric is a Fibre Channel network.</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top"><p class="table">tcp</p></td>
|
||||
<td align="left" valign="top"><p class="table">The network fabric is a TCP/IP network.</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top"><p class="table">loop</p></td>
|
||||
<td align="left" valign="top"><p class="table">Connect to a NVMe over Fabrics target on the local host</p></td>
|
||||
</tr>
|
||||
|
@ -1070,7 +1074,7 @@ and <a href="mailto:hch@lst.de">Christoph Hellwig</a></p></div>
|
|||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2020-02-15 08:33:28 JST
|
||||
2020-07-14 17:50:40 -03
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -46,6 +46,7 @@ OPTIONS
|
|||
|Value|Definition
|
||||
|rdma|The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc)
|
||||
|fc |*WIP* The network fabric is a Fibre Channel network.
|
||||
|tcp |The network fabric is a TCP/IP network.
|
||||
|loop|Connect to a NVMe over Fabrics target on the local host
|
||||
|=================
|
||||
|
||||
|
|
141
Documentation/nvme-copy.1
Normal file
141
Documentation/nvme-copy.1
Normal file
|
@ -0,0 +1,141 @@
|
|||
'\" t
|
||||
.\" Title: nvme-copy
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-COPY" "1" "10/20/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-copy \- Send an NVMe Simple Copy command, provide results
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
.nf
|
||||
\fInvme\-copy\fR <device> [\-\-sdlba=<sdlba> | \-d <sdlba>]
|
||||
[\-\-blocks=<nlb\-list,> | \-b <nlb\-list,>]
|
||||
[\-\-slbs=<slbas,> | \-s <slbas,>]
|
||||
[\-\-limited\-retry | \-l]
|
||||
[\-\-force\-unit\-access | \-f]
|
||||
[\-\-prinfow=<prinfow> | \-p <prinfow>]
|
||||
[\-\-prinfor=<prinfor> | \-P <prinfor>]
|
||||
[\-\-ref\-tag=<reftag> | \-r <reftag>]
|
||||
[\-\-expected\-ref\-tags=<reftag,> | \-R <reftag,>]
|
||||
[\-\-app\-tag=<apptag> | \-a <apptag>]
|
||||
[\-\-expected\-app\-tags=<apptag,> | \-A <apptag,>]
|
||||
[\-\-app\-mask=<appmask> | \-m <appmask>]
|
||||
[\-\-expected\-app\-masks=<appmask,> | \-M <appmask,>]
|
||||
[\-\-dir\-type=<type> | \-T <type>]
|
||||
[\-\-dir\-spec=<spec> | \-S <spec>]
|
||||
[\-\-format=<entry\-format> | \-F <entry\-format>]
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
The Copy command is used by the host to copy data from one or more source logical block ranges to a single consecutive destination logical block range\&.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\-\-sdlba=<sdlba>, \-d <sdlba>
|
||||
.RS 4
|
||||
64\-bit addr of first destination logical block
|
||||
.RE
|
||||
.PP
|
||||
\-\-blocks=<nlb\-list,>, \-b <nlb\-list,>
|
||||
.RS 4
|
||||
Comma separated list of the number of blocks in each range
|
||||
.RE
|
||||
.PP
|
||||
\-\-slbs=<slbas,>, \-s <slbas,>
|
||||
.RS 4
|
||||
Comma separated list of the starting blocks in each range
|
||||
.RE
|
||||
.PP
|
||||
\-\-limited\-retry, \-l
|
||||
.RS 4
|
||||
Sets the limited retry flag\&.
|
||||
.RE
|
||||
.PP
|
||||
\-\-force\-unit\-access, \-f
|
||||
.RS 4
|
||||
Set the force\-unit access flag\&.
|
||||
.RE
|
||||
.PP
|
||||
\-\-prinfow=<prinfow>, \-p <prinfow>
|
||||
.RS 4
|
||||
Protection Information field write definition\&.
|
||||
.RE
|
||||
.PP
|
||||
\-\-prinfor=<prinfor>, \-P <prinfor>
|
||||
.RS 4
|
||||
Protection Information field read definition\&.
|
||||
.RE
|
||||
.PP
|
||||
\-\-ref\-tag=<reftag>, \-r <reftag>
|
||||
.RS 4
|
||||
initial lba reference tag\&.
|
||||
.RE
|
||||
.PP
|
||||
\-\-expected\-ref\-tags=<reftag,>, \-R <reftag,>
|
||||
.RS 4
|
||||
expected lba reference tags (comma\-separated list)\&.
|
||||
.RE
|
||||
.PP
|
||||
\-\-app\-tag=<apptag>, \-a <apptag>
|
||||
.RS 4
|
||||
lba app tag
|
||||
.RE
|
||||
.PP
|
||||
\-\-expected\-app\-tags=<apptag,>, \-A <apptag,>
|
||||
.RS 4
|
||||
expected lba app tags (comma\-separated list)
|
||||
.RE
|
||||
.PP
|
||||
\-\-app\-mask=<appmask>, \-m <appmask>
|
||||
.RS 4
|
||||
lba tag mask
|
||||
.RE
|
||||
.PP
|
||||
\-\-expected\-app\-masks=<appmask,>, \-M <appmask,>
|
||||
.RS 4
|
||||
expected lba tag masks (comma\-separated list)
|
||||
.RE
|
||||
.PP
|
||||
\-\-dir\-type=<type>, \-T <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
|
||||
\-\-dir\-spec=<spec>, \-S <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
|
||||
\-\-format=<entry\-format>, \-F <entry\-format>
|
||||
.RS 4
|
||||
source range entry format
|
||||
.RE
|
||||
.SH "EXAMPLES"
|
||||
.sp
|
||||
No examples yet\&.
|
||||
.SH "NVME"
|
||||
.sp
|
||||
Part of the nvme\-user suite
|
989
Documentation/nvme-copy.html
Normal file
989
Documentation/nvme-copy.html
Normal file
|
@ -0,0 +1,989 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<title>nvme-copy(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
||||
/* Default font. */
|
||||
body {
|
||||
font-family: Georgia,serif;
|
||||
}
|
||||
|
||||
/* Title font. */
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
div.title, caption.title,
|
||||
thead, p.table.header,
|
||||
#toctitle,
|
||||
#author, #revnumber, #revdate, #revremark,
|
||||
#footer {
|
||||
font-family: Arial,Helvetica,sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 1em 5% 1em 5%;
|
||||
}
|
||||
|
||||
a {
|
||||
color: blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:visited {
|
||||
color: fuchsia;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
color: navy;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
color: #083194;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #527bbd;
|
||||
margin-top: 1.2em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
h2 {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
h3 {
|
||||
float: left;
|
||||
}
|
||||
h3 + * {
|
||||
clear: left;
|
||||
}
|
||||
h5 {
|
||||
font-size: 1.0em;
|
||||
}
|
||||
|
||||
div.sectionbody {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid silver;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
ul, ol, li > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
ul > li { color: #aaa; }
|
||||
ul > li > * { color: black; }
|
||||
|
||||
.monospaced, code, pre {
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
font-size: inherit;
|
||||
color: navy;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#author {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
#email {
|
||||
}
|
||||
#revnumber, #revdate, #revremark {
|
||||
}
|
||||
|
||||
#footer {
|
||||
font-size: small;
|
||||
border-top: 2px solid silver;
|
||||
padding-top: 0.5em;
|
||||
margin-top: 4.0em;
|
||||
}
|
||||
#footer-text {
|
||||
float: left;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#footer-badges {
|
||||
float: right;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
#preamble {
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.imageblock, div.exampleblock, div.verseblock,
|
||||
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||
div.admonitionblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.admonitionblock {
|
||||
margin-top: 2.0em;
|
||||
margin-bottom: 2.0em;
|
||||
margin-right: 10%;
|
||||
color: #606060;
|
||||
}
|
||||
|
||||
div.content { /* Block element content. */
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Block element titles. */
|
||||
div.title, caption.title {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
div.title + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
td div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content + div.title {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
|
||||
div.sidebarblock > div.content {
|
||||
background: #ffffee;
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 4px solid #f0f0f0;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.listingblock > div.content {
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
background: #f8f8f8;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.quoteblock, div.verseblock {
|
||||
padding-left: 1.0em;
|
||||
margin-left: 1.0em;
|
||||
margin-right: 10%;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
div.quoteblock > div.attribution {
|
||||
padding-top: 0.5em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.verseblock > pre.content {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
div.verseblock > div.attribution {
|
||||
padding-top: 0.75em;
|
||||
text-align: left;
|
||||
}
|
||||
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||
div.verseblock + div.attribution {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.admonitionblock .icon {
|
||||
vertical-align: top;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
color: #527bbd;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
div.admonitionblock td.content {
|
||||
padding-left: 0.5em;
|
||||
border-left: 3px solid #dddddd;
|
||||
}
|
||||
|
||||
div.exampleblock > div.content {
|
||||
border-left: 3px solid #dddddd;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
div.imageblock div.content { padding-left: 0; }
|
||||
span.image img { border-style: none; vertical-align: text-bottom; }
|
||||
a.image:visited { color: white; }
|
||||
|
||||
dl {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
dt {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0;
|
||||
font-style: normal;
|
||||
color: navy;
|
||||
}
|
||||
dd > *:first-child {
|
||||
margin-top: 0.1em;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
list-style-position: outside;
|
||||
}
|
||||
ol.arabic {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
ol.loweralpha {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
ol.upperalpha {
|
||||
list-style-type: upper-alpha;
|
||||
}
|
||||
ol.lowerroman {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
ol.upperroman {
|
||||
list-style-type: upper-roman;
|
||||
}
|
||||
|
||||
div.compact ul, div.compact ol,
|
||||
div.compact p, div.compact p,
|
||||
div.compact div, div.compact div {
|
||||
margin-top: 0.1em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
tfoot {
|
||||
font-weight: bold;
|
||||
}
|
||||
td > div.verse {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
div.hdlist {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
div.hdlist tr {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
dt.hdlist1.strong, td.hdlist1.strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
td.hdlist1 {
|
||||
vertical-align: top;
|
||||
font-style: normal;
|
||||
padding-right: 0.8em;
|
||||
color: navy;
|
||||
}
|
||||
td.hdlist2 {
|
||||
vertical-align: top;
|
||||
}
|
||||
div.hdlist.compact tr {
|
||||
margin: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.comment {
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
.footnote, .footnoteref {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
span.footnote, span.footnoteref {
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
#footnotes {
|
||||
margin: 20px 0 20px 0;
|
||||
padding: 7px 0 0 0;
|
||||
}
|
||||
|
||||
#footnotes div.footnote {
|
||||
margin: 0 0 5px 0;
|
||||
}
|
||||
|
||||
#footnotes hr {
|
||||
border: none;
|
||||
border-top: 1px solid silver;
|
||||
height: 1px;
|
||||
text-align: left;
|
||||
margin-left: 0;
|
||||
width: 20%;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
div.colist td {
|
||||
padding-right: 0.5em;
|
||||
padding-bottom: 0.3em;
|
||||
vertical-align: top;
|
||||
}
|
||||
div.colist td img {
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
#footer-badges { display: none; }
|
||||
}
|
||||
|
||||
#toc {
|
||||
margin-bottom: 2.5em;
|
||||
}
|
||||
|
||||
#toctitle {
|
||||
color: #527bbd;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
div.toclevel2 {
|
||||
margin-left: 2em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel3 {
|
||||
margin-left: 4em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel4 {
|
||||
margin-left: 6em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
span.aqua { color: aqua; }
|
||||
span.black { color: black; }
|
||||
span.blue { color: blue; }
|
||||
span.fuchsia { color: fuchsia; }
|
||||
span.gray { color: gray; }
|
||||
span.green { color: green; }
|
||||
span.lime { color: lime; }
|
||||
span.maroon { color: maroon; }
|
||||
span.navy { color: navy; }
|
||||
span.olive { color: olive; }
|
||||
span.purple { color: purple; }
|
||||
span.red { color: red; }
|
||||
span.silver { color: silver; }
|
||||
span.teal { color: teal; }
|
||||
span.white { color: white; }
|
||||
span.yellow { color: yellow; }
|
||||
|
||||
span.aqua-background { background: aqua; }
|
||||
span.black-background { background: black; }
|
||||
span.blue-background { background: blue; }
|
||||
span.fuchsia-background { background: fuchsia; }
|
||||
span.gray-background { background: gray; }
|
||||
span.green-background { background: green; }
|
||||
span.lime-background { background: lime; }
|
||||
span.maroon-background { background: maroon; }
|
||||
span.navy-background { background: navy; }
|
||||
span.olive-background { background: olive; }
|
||||
span.purple-background { background: purple; }
|
||||
span.red-background { background: red; }
|
||||
span.silver-background { background: silver; }
|
||||
span.teal-background { background: teal; }
|
||||
span.white-background { background: white; }
|
||||
span.yellow-background { background: yellow; }
|
||||
|
||||
span.big { font-size: 2em; }
|
||||
span.small { font-size: 0.6em; }
|
||||
|
||||
span.underline { text-decoration: underline; }
|
||||
span.overline { text-decoration: overline; }
|
||||
span.line-through { text-decoration: line-through; }
|
||||
|
||||
div.unbreakable { page-break-inside: avoid; }
|
||||
|
||||
|
||||
/*
|
||||
* xhtml11 specific
|
||||
*
|
||||
* */
|
||||
|
||||
div.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.tableblock > table {
|
||||
border: 3px solid #527bbd;
|
||||
}
|
||||
thead, p.table.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.table {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||
div.tableblock > table[frame="void"] {
|
||||
border-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="hsides"] {
|
||||
border-left-style: none;
|
||||
border-right-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="vsides"] {
|
||||
border-top-style: none;
|
||||
border-bottom-style: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html5 specific
|
||||
*
|
||||
* */
|
||||
|
||||
table.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
thead, p.tableblock.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.tableblock {
|
||||
margin-top: 0;
|
||||
}
|
||||
table.tableblock {
|
||||
border-width: 3px;
|
||||
border-spacing: 0px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
th.tableblock, td.tableblock {
|
||||
border-width: 1px;
|
||||
padding: 4px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
}
|
||||
|
||||
table.tableblock.frame-topbot {
|
||||
border-left-style: hidden;
|
||||
border-right-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-sides {
|
||||
border-top-style: hidden;
|
||||
border-bottom-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-none {
|
||||
border-style: hidden;
|
||||
}
|
||||
|
||||
th.tableblock.halign-left, td.tableblock.halign-left {
|
||||
text-align: left;
|
||||
}
|
||||
th.tableblock.halign-center, td.tableblock.halign-center {
|
||||
text-align: center;
|
||||
}
|
||||
th.tableblock.halign-right, td.tableblock.halign-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
th.tableblock.valign-top, td.tableblock.valign-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* manpage specific
|
||||
*
|
||||
* */
|
||||
|
||||
body.manpage h1 {
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
border-top: 2px solid silver;
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
body.manpage h2 {
|
||||
border-style: none;
|
||||
}
|
||||
body.manpage div.sectionbody {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body.manpage div#toc { display: none; }
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
/*<+'])');
|
||||
// Function that scans the DOM tree for header elements (the DOM2
|
||||
// nodeIterator API would be a better technique but not supported by all
|
||||
// browsers).
|
||||
var iterate = function (el) {
|
||||
for (var i = el.firstChild; i != null; i = i.nextSibling) {
|
||||
if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
|
||||
var mo = re.exec(i.tagName);
|
||||
if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
|
||||
result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
|
||||
}
|
||||
iterate(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
iterate(el);
|
||||
return result;
|
||||
}
|
||||
|
||||
var toc = document.getElementById("toc");
|
||||
if (!toc) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Delete existing TOC entries in case we're reloading the TOC.
|
||||
var tocEntriesToRemove = [];
|
||||
var i;
|
||||
for (i = 0; i < toc.childNodes.length; i++) {
|
||||
var entry = toc.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div'
|
||||
&& entry.getAttribute("class")
|
||||
&& entry.getAttribute("class").match(/^toclevel/))
|
||||
tocEntriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < tocEntriesToRemove.length; i++) {
|
||||
toc.removeChild(tocEntriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild TOC entries.
|
||||
var entries = tocEntries(document.getElementById("content"), toclevels);
|
||||
for (var i = 0; i < entries.length; ++i) {
|
||||
var entry = entries[i];
|
||||
if (entry.element.id == "")
|
||||
entry.element.id = "_toc_" + i;
|
||||
var a = document.createElement("a");
|
||||
a.href = "#" + entry.element.id;
|
||||
a.appendChild(document.createTextNode(entry.text));
|
||||
var div = document.createElement("div");
|
||||
div.appendChild(a);
|
||||
div.className = "toclevel" + entry.toclevel;
|
||||
toc.appendChild(div);
|
||||
}
|
||||
if (entries.length == 0)
|
||||
toc.parentNode.removeChild(toc);
|
||||
},
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// Footnotes generator
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
/* Based on footnote generation code from:
|
||||
* http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
|
||||
*/
|
||||
|
||||
footnotes: function () {
|
||||
// Delete existing footnote entries in case we're reloading the footnodes.
|
||||
var i;
|
||||
var noteholder = document.getElementById("footnotes");
|
||||
if (!noteholder) {
|
||||
return;
|
||||
}
|
||||
var entriesToRemove = [];
|
||||
for (i = 0; i < noteholder.childNodes.length; i++) {
|
||||
var entry = noteholder.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
|
||||
entriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < entriesToRemove.length; i++) {
|
||||
noteholder.removeChild(entriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild footnote entries.
|
||||
var cont = document.getElementById("content");
|
||||
var spans = cont.getElementsByTagName("span");
|
||||
var refs = {};
|
||||
var n = 0;
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnote") {
|
||||
n++;
|
||||
var note = spans[i].getAttribute("data-note");
|
||||
if (!note) {
|
||||
// Use [\s\S] in place of . so multi-line matches work.
|
||||
// Because JavaScript has no s (dotall) regex flag.
|
||||
note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
|
||||
spans[i].innerHTML =
|
||||
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
spans[i].setAttribute("data-note", note);
|
||||
}
|
||||
noteholder.innerHTML +=
|
||||
"<div class='footnote' id='_footnote_" + n + "'>" +
|
||||
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
|
||||
n + "</a>. " + note + "</div>";
|
||||
var id =spans[i].getAttribute("id");
|
||||
if (id != null) refs["#"+id] = n;
|
||||
}
|
||||
}
|
||||
if (n == 0)
|
||||
noteholder.parentNode.removeChild(noteholder);
|
||||
else {
|
||||
// Process footnoterefs.
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnoteref") {
|
||||
var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
|
||||
href = href.match(/#.*/)[0]; // Because IE return full URL.
|
||||
n = refs[href];
|
||||
spans[i].innerHTML =
|
||||
"[<a href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
install: function(toclevels) {
|
||||
var timerId;
|
||||
|
||||
function reinstall() {
|
||||
asciidoc.footnotes();
|
||||
if (toclevels) {
|
||||
asciidoc.toc(toclevels);
|
||||
}
|
||||
}
|
||||
|
||||
function reinstallAndRemoveTimer() {
|
||||
clearInterval(timerId);
|
||||
reinstall();
|
||||
}
|
||||
|
||||
timerId = setInterval(reinstall, 500);
|
||||
if (document.addEventListener)
|
||||
document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
|
||||
else
|
||||
window.onload = reinstallAndRemoveTimer;
|
||||
}
|
||||
|
||||
}
|
||||
asciidoc.install();
|
||||
/*]]>*/
|
||||
</script>
|
||||
</head>
|
||||
<body class="manpage">
|
||||
<div id="header">
|
||||
<h1>
|
||||
nvme-copy(1) Manual Page
|
||||
</h1>
|
||||
<h2>NAME</h2>
|
||||
<div class="sectionbody">
|
||||
<p>nvme-copy -
|
||||
Send an NVMe Simple Copy command, provide results
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div class="sect1">
|
||||
<h2 id="_synopsis">SYNOPSIS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="verseblock">
|
||||
<pre class="content"><em>nvme-copy</em> <device> [--sdlba=<sdlba> | -d <sdlba>]
|
||||
[--blocks=<nlb-list,> | -b <nlb-list,>]
|
||||
[--slbs=<slbas,> | -s <slbas,>]
|
||||
[--limited-retry | -l]
|
||||
[--force-unit-access | -f]
|
||||
[--prinfow=<prinfow> | -p <prinfow>]
|
||||
[--prinfor=<prinfor> | -P <prinfor>]
|
||||
[--ref-tag=<reftag> | -r <reftag>]
|
||||
[--expected-ref-tags=<reftag,> | -R <reftag,>]
|
||||
[--app-tag=<apptag> | -a <apptag>]
|
||||
[--expected-app-tags=<apptag,> | -A <apptag,>]
|
||||
[--app-mask=<appmask> | -m <appmask>]
|
||||
[--expected-app-masks=<appmask,> | -M <appmask,>]
|
||||
[--dir-type=<type> | -T <type>]
|
||||
[--dir-spec=<spec> | -S <spec>]
|
||||
[--format=<entry-format> | -F <entry-format>]</pre>
|
||||
<div class="attribution">
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_description">DESCRIPTION</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>The Copy command is used by the host to copy data from one or more source
|
||||
logical block ranges to a single consecutive destination logical block range.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_options">OPTIONS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="dlist"><dl>
|
||||
<dt class="hdlist1">
|
||||
--sdlba=<sdlba>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-d <sdlba>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
64-bit addr of first destination logical block
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--blocks=<nlb-list,>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-b <nlb-list,>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Comma separated list of the number of blocks in each range
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--slbs=<slbas,>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-s <slbas,>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Comma separated list of the starting blocks in each range
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--limited-retry
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-l
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Sets the limited retry flag.
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--force-unit-access
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-f
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Set the force-unit access flag.
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--prinfow=<prinfow>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-p <prinfow>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Protection Information field write definition.
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--prinfor=<prinfor>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-P <prinfor>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Protection Information field read definition.
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--ref-tag=<reftag>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-r <reftag>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
initial lba reference tag.
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--expected-ref-tags=<reftag,>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-R <reftag,>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
expected lba reference tags (comma-separated list).
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--app-tag=<apptag>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-a <apptag>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
lba app tag
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--expected-app-tags=<apptag,>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-A <apptag,>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
expected lba app tags (comma-separated list)
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--app-mask=<appmask>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-m <appmask>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
lba tag mask
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--expected-app-masks=<appmask,>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-M <appmask,>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
expected lba tag masks (comma-separated list)
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--dir-type=<type>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-T <type>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--dir-spec=<spec>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-S <spec>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
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’s capabilities.
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
--format=<entry-format>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
-F <entry-format>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
source range entry format
|
||||
</p>
|
||||
</dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_examples">EXAMPLES</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>No examples yet.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_nvme">NVME</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>Part of the nvme-user suite</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footnotes"><hr /></div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2020-05-06 10:35:20 CEST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
111
Documentation/nvme-copy.txt
Normal file
111
Documentation/nvme-copy.txt
Normal file
|
@ -0,0 +1,111 @@
|
|||
nvme-copy(1)
|
||||
============
|
||||
|
||||
NAME
|
||||
----
|
||||
nvme-copy - Send an NVMe Simple Copy command, provide results
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'nvme-copy' <device> [--sdlba=<sdlba> | -d <sdlba>]
|
||||
[--blocks=<nlb-list,> | -b <nlb-list,>]
|
||||
[--slbs=<slbas,> | -s <slbas,>]
|
||||
[--limited-retry | -l]
|
||||
[--force-unit-access | -f]
|
||||
[--prinfow=<prinfow> | -p <prinfow>]
|
||||
[--prinfor=<prinfor> | -P <prinfor>]
|
||||
[--ref-tag=<reftag> | -r <reftag>]
|
||||
[--expected-ref-tags=<reftag,> | -R <reftag,>]
|
||||
[--app-tag=<apptag> | -a <apptag>]
|
||||
[--expected-app-tags=<apptag,> | -A <apptag,>]
|
||||
[--app-mask=<appmask> | -m <appmask>]
|
||||
[--expected-app-masks=<appmask,> | -M <appmask,>]
|
||||
[--dir-type=<type> | -T <type>]
|
||||
[--dir-spec=<spec> | -S <spec>]
|
||||
[--format=<entry-format> | -F <entry-format>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
The Copy command is used by the host to copy data from one or more source
|
||||
logical block ranges to a single consecutive destination logical block range.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
--sdlba=<sdlba>::
|
||||
-d <sdlba>::
|
||||
64-bit addr of first destination logical block
|
||||
|
||||
--blocks=<nlb-list,>::
|
||||
-b <nlb-list,>::
|
||||
Comma separated list of the number of blocks in each range
|
||||
|
||||
--slbs=<slbas,>::
|
||||
-s <slbas,>::
|
||||
Comma separated list of the starting blocks in each range
|
||||
|
||||
--limited-retry::
|
||||
-l::
|
||||
Sets the limited retry flag.
|
||||
|
||||
--force-unit-access::
|
||||
-f::
|
||||
Set the force-unit access flag.
|
||||
|
||||
--prinfow=<prinfow>::
|
||||
-p <prinfow>::
|
||||
Protection Information field write definition.
|
||||
|
||||
--prinfor=<prinfor>::
|
||||
-P <prinfor>::
|
||||
Protection Information field read definition.
|
||||
|
||||
--ref-tag=<reftag>::
|
||||
-r <reftag>::
|
||||
initial lba reference tag.
|
||||
|
||||
--expected-ref-tags=<reftag,>::
|
||||
-R <reftag,>::
|
||||
expected lba reference tags (comma-separated list).
|
||||
|
||||
--app-tag=<apptag>::
|
||||
-a <apptag>::
|
||||
lba app tag
|
||||
|
||||
--expected-app-tags=<apptag,>::
|
||||
-A <apptag,>::
|
||||
expected lba app tags (comma-separated list)
|
||||
|
||||
--app-mask=<appmask>::
|
||||
-m <appmask>::
|
||||
lba tag mask
|
||||
|
||||
--expected-app-masks=<appmask,>::
|
||||
-M <appmask,>::
|
||||
expected lba tag masks (comma-separated list)
|
||||
|
||||
--dir-type=<type>::
|
||||
-T <type>::
|
||||
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.
|
||||
|
||||
--dir-spec=<spec>::
|
||||
-S <spec>::
|
||||
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's capabilities.
|
||||
|
||||
--format=<entry-format>::
|
||||
-F <entry-format>::
|
||||
source range entry format
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
No examples yet.
|
||||
|
||||
NVME
|
||||
----
|
||||
Part of the nvme-user suite
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-create-ns
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-CREATE\-NS" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-CREATE\-NS" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
@ -39,6 +39,7 @@ nvme-create-ns \- Send NVMe Namespace management command to create namespace, re
|
|||
[\-\-nmic=<nmic> | \-m <nmic>]
|
||||
[\-\-anagrp\-id=<anagrpid> | \-a <anagrpid>]
|
||||
[\-\-nvmset\-id=<nvmsetid> | \-i <nvmsetid>]
|
||||
[\-\-csi=<command_set_identifier> | \-y <command_set_identifier>]
|
||||
[\-\-block\-size=<block\-size> | \-b <block\-size>]
|
||||
[\-\-timeout=<timeout> | \-t <timeout>]
|
||||
DESCRIPTION
|
||||
|
@ -90,6 +91,11 @@ ANA Gorup Identifier\&. If this value is 0h specifies that the controller determ
|
|||
This field specifies the identifier of the NVM Set\&.
|
||||
.RE
|
||||
.PP
|
||||
\-y <command_set_identifier>, \-\-csi=<command_set_identifier>
|
||||
.RS 4
|
||||
This field specifies the identifier of command set\&. if not issued, NVM Command Set will be selected\&.
|
||||
.RE
|
||||
.PP
|
||||
\-b, \-\-block\-size
|
||||
.RS 4
|
||||
Target block size the new namespace should be formatted as\&. Potential FLBAS values will be values will be scanned and the lowest numbered will be selected for the create\-ns operation\&. Conflicts with \-\-flbas argument\&.
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<title>nvme-create-ns(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
@ -94,7 +95,9 @@ ul > li > * { color: black; }
|
|||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#author {
|
||||
color: #527bbd;
|
||||
|
@ -223,7 +226,7 @@ div.exampleblock > div.content {
|
|||
}
|
||||
|
||||
div.imageblock div.content { padding-left: 0; }
|
||||
span.image img { border-style: none; }
|
||||
span.image img { border-style: none; vertical-align: text-bottom; }
|
||||
a.image:visited { color: white; }
|
||||
|
||||
dl {
|
||||
|
@ -753,6 +756,7 @@ nvme-create-ns(1) Manual Page
|
|||
[--nmic=<nmic> | -m <nmic>]
|
||||
[--anagrp-id=<anagrpid> | -a <anagrpid>]
|
||||
[--nvmset-id=<nvmsetid> | -i <nvmsetid>]
|
||||
[--csi=<command_set_identifier> | -y <command_set_identifier>]
|
||||
[--block-size=<block-size> | -b <block-size>]
|
||||
[--timeout=<timeout> | -t <timeout>]
|
||||
DESCRIPTION</pre>
|
||||
|
@ -842,7 +846,7 @@ OPTIONS</code></pre>
|
|||
-i <nvmsetid>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
--nvmset_id=<nvmsetid>
|
||||
--nvmset-id=<nvmsetid>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
|
@ -850,6 +854,18 @@ OPTIONS</code></pre>
|
|||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
-y <command_set_identifier>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
--csi=<command_set_identifier>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
This field specifies the identifier of command set.
|
||||
if not issued, NVM Command Set will be selected.
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
-b
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
|
@ -881,7 +897,8 @@ OPTIONS</code></pre>
|
|||
<div id="footnotes"><hr /></div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated 2019-11-16 14:07:32 KST
|
||||
Last updated
|
||||
2020-05-06 10:35:44 CEST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -15,6 +15,7 @@ SYNOPSIS
|
|||
[--nmic=<nmic> | -m <nmic>]
|
||||
[--anagrp-id=<anagrpid> | -a <anagrpid>]
|
||||
[--nvmset-id=<nvmsetid> | -i <nvmsetid>]
|
||||
[--csi=<command_set_identifier> | -y <command_set_identifier>]
|
||||
[--block-size=<block-size> | -b <block-size>]
|
||||
[--timeout=<timeout> | -t <timeout>]
|
||||
DESCRIPTION
|
||||
|
@ -58,6 +59,11 @@ OPTIONS
|
|||
--nvmset-id=<nvmsetid>::
|
||||
This field specifies the identifier of the NVM Set.
|
||||
|
||||
-y <command_set_identifier>::
|
||||
--csi=<command_set_identifier>::
|
||||
This field specifies the identifier of command set.
|
||||
if not issued, NVM Command Set will be selected.
|
||||
|
||||
-b::
|
||||
--block-size::
|
||||
Target block size the new namespace should be formatted as. Potential FLBAS
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-id-ns
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-ID\-NS" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-ID\-NS" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-dera-stat
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-DERA\-STAT" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-DERA\-STAT" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-detach-ns
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-DETACH\-NS" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-DETACH\-NS" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-device-self-test
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-DEVICE\-SELF\-" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-DEVICE\-SELF\-" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-dir-receive
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-DIR\-RECEIVE" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-DIR\-RECEIVE" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-dir-send
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-DIR\-SEND" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-DIR\-SEND" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-disconnect-all
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-DISCONNECT\-AL" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-DISCONNECT\-AL" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-disconnect
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-DISCONNECT" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-DISCONNECT" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-discover
|
||||
.\" Author: [see the "AUTHORS" section]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-DISCOVER" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-DISCOVER" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
@ -76,6 +76,7 @@ allbox tab(:);
|
|||
lt lt
|
||||
lt lt
|
||||
lt lt
|
||||
lt lt
|
||||
lt lt.
|
||||
T{
|
||||
Value
|
||||
|
@ -94,6 +95,11 @@ T}:T{
|
|||
The network fabric is a Fibre Channel network\&.
|
||||
T}
|
||||
T{
|
||||
tcp
|
||||
T}:T{
|
||||
The network fabric is a TCP/IP network\&.
|
||||
T}
|
||||
T{
|
||||
loop
|
||||
T}:T{
|
||||
Connect to a NVMe over Fabrics target on the local host
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<meta name="generator" content="AsciiDoc" />
|
||||
<title>nvme-discover(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
@ -846,6 +846,10 @@ cellspacing="0" cellpadding="4">
|
|||
<td align="left" valign="top"><p class="table"><strong>WIP</strong> The network fabric is a Fibre Channel network.</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top"><p class="table">tcp</p></td>
|
||||
<td align="left" valign="top"><p class="table">The network fabric is a TCP/IP network.</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top"><p class="table">loop</p></td>
|
||||
<td align="left" valign="top"><p class="table">Connect to a NVMe over Fabrics target on the local host</p></td>
|
||||
</tr>
|
||||
|
@ -1122,7 +1126,7 @@ nvme-connect-all(1)</p></div>
|
|||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2019-11-08 08:22:36 JST
|
||||
2020-07-14 17:46:53 -03
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -16,6 +16,7 @@ SYNOPSIS
|
|||
[--hostnqn=<hostnqn> | -q <hostnqn>]
|
||||
[--hostid=<hostid> | -I <hostid>]
|
||||
[--raw=<filename> | -r <filename>]
|
||||
[--device=<device> | -d <device>]
|
||||
[--keep-alive-tmo=<sec> | -k <sec>]
|
||||
[--reconnect-delay=<#> | -c <#>]
|
||||
[--ctrl-loss-tmo=<#> | -l <#>]
|
||||
|
@ -27,6 +28,7 @@ SYNOPSIS
|
|||
[--queue-size=<#> | -Q <#>]
|
||||
[--persistent | -p]
|
||||
[--quiet | -S]
|
||||
[--output-format=<fmt> | -o <fmt>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
@ -78,6 +80,7 @@ OPTIONS
|
|||
|Value|Definition
|
||||
|rdma|The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc)
|
||||
|fc |*WIP* The network fabric is a Fibre Channel network.
|
||||
|tcp |The network fabric is a TCP/IP network.
|
||||
|loop|Connect to a NVMe over Fabrics target on the local host
|
||||
|=================
|
||||
|
||||
|
@ -116,6 +119,11 @@ OPTIONS
|
|||
and dump it to a raw binary file. By default 'nvme discover' will
|
||||
dump the output to stdout.
|
||||
|
||||
-d <device>::
|
||||
--device=<device>::
|
||||
This field takes a device as input. Device is in the format of nvme*,
|
||||
eg. nvme0, nvme1
|
||||
|
||||
-k <#>::
|
||||
--keep-alive-tmo=<#>::
|
||||
Overrides the default dealy (in seconds) for keep alive.
|
||||
|
@ -168,6 +176,11 @@ OPTIONS
|
|||
--quiet::
|
||||
Suppress already connected errors.
|
||||
|
||||
-o <format>::
|
||||
--output-format=<format>::
|
||||
Set the reporting format to 'normal', 'json', or
|
||||
'binary'. Only one output format can be used at a time.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
* Query the Discover Controller with IP4 address 192.168.1.3 for all
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-dsm
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-DSM" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-DSM" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-effects-log
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-EFFECTS\-LOG" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-EFFECTS\-LOG" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
112
Documentation/nvme-endurance-event-agg-log.1
Normal file
112
Documentation/nvme-endurance-event-agg-log.1
Normal file
|
@ -0,0 +1,112 @@
|
|||
'\" t
|
||||
.\" Title: nvme-endurance-event-agg-log
|
||||
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 02/20/2021
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-ENDURANCE\-EVE" "1" "02/20/2021" "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-endurance-event-agg-log \- Send NVMe Endurance log page request, returns result and log
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
.nf
|
||||
\fInvme endurance\-event\-agg\-log\fR <device> [\-\-log\-entries=<log_entries> | \-e <log_entries>]
|
||||
[\-\-rae | \-r] [\-\-raw\-binary | \-b]
|
||||
[\-\-output\-format=<fmt> | \-o <fmt>]
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
Retrieves the NVMe Endurance Event Aggregate log page from an NVMe device and provides the returned structure\&.
|
||||
.sp
|
||||
The <device> 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 endurance event agg log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format, the raw buffer may be printed to stdout for another program to parse, or reported in json format\&.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\-e <log_entries>, \-\-log\-entries=<log_entries>
|
||||
.RS 4
|
||||
Retrieve the Endurance Group Event Aggregate Log pending entries\&. This argument is mandatory and its success may depend on the device\(cqs statistics to provide this log For More details see NVM Express 1\&.4 Spec\&. Section 5\&.14\&.1\&.15\&. The maximum number of log entries supported is 2044 for the device\&.
|
||||
.RE
|
||||
.PP
|
||||
\-r, \-\-rae
|
||||
.RS 4
|
||||
Retain an Asynchronous Event\&.
|
||||
.RE
|
||||
.PP
|
||||
\-o <format>, \-\-output\-format=<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
|
||||
.SH "EXAMPLES"
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
Print the Endurance log page in a human readable format:
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
# nvme endurance\-event\-agg\-log /dev/nvme0
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
Print the raw Endurance log to a file:
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
# nvme endurance\-event\-agg\-log /dev/nvme0 \-\-output=binary > endurance_event_agg_log\&.raw
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.sp
|
||||
It is probably a bad idea to not redirect stdout when using this mode\&.
|
||||
.RE
|
||||
.SH "NVME"
|
||||
.sp
|
||||
Part of the nvme\-user suite
|
858
Documentation/nvme-endurance-event-agg-log.html
Normal file
858
Documentation/nvme-endurance-event-agg-log.html
Normal file
|
@ -0,0 +1,858 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<title>nvme-endurance-event-agg-log(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
||||
/* Default font. */
|
||||
body {
|
||||
font-family: Georgia,serif;
|
||||
}
|
||||
|
||||
/* Title font. */
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
div.title, caption.title,
|
||||
thead, p.table.header,
|
||||
#toctitle,
|
||||
#author, #revnumber, #revdate, #revremark,
|
||||
#footer {
|
||||
font-family: Arial,Helvetica,sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 1em 5% 1em 5%;
|
||||
}
|
||||
|
||||
a {
|
||||
color: blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:visited {
|
||||
color: fuchsia;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
color: navy;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
color: #083194;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #527bbd;
|
||||
margin-top: 1.2em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
h2 {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
h3 {
|
||||
float: left;
|
||||
}
|
||||
h3 + * {
|
||||
clear: left;
|
||||
}
|
||||
h5 {
|
||||
font-size: 1.0em;
|
||||
}
|
||||
|
||||
div.sectionbody {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid silver;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
ul, ol, li > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
ul > li { color: #aaa; }
|
||||
ul > li > * { color: black; }
|
||||
|
||||
.monospaced, code, pre {
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
font-size: inherit;
|
||||
color: navy;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#author {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
#email {
|
||||
}
|
||||
#revnumber, #revdate, #revremark {
|
||||
}
|
||||
|
||||
#footer {
|
||||
font-size: small;
|
||||
border-top: 2px solid silver;
|
||||
padding-top: 0.5em;
|
||||
margin-top: 4.0em;
|
||||
}
|
||||
#footer-text {
|
||||
float: left;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#footer-badges {
|
||||
float: right;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
#preamble {
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.imageblock, div.exampleblock, div.verseblock,
|
||||
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||
div.admonitionblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.admonitionblock {
|
||||
margin-top: 2.0em;
|
||||
margin-bottom: 2.0em;
|
||||
margin-right: 10%;
|
||||
color: #606060;
|
||||
}
|
||||
|
||||
div.content { /* Block element content. */
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Block element titles. */
|
||||
div.title, caption.title {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
div.title + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
td div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content + div.title {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
|
||||
div.sidebarblock > div.content {
|
||||
background: #ffffee;
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 4px solid #f0f0f0;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.listingblock > div.content {
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
background: #f8f8f8;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.quoteblock, div.verseblock {
|
||||
padding-left: 1.0em;
|
||||
margin-left: 1.0em;
|
||||
margin-right: 10%;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
div.quoteblock > div.attribution {
|
||||
padding-top: 0.5em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.verseblock > pre.content {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
div.verseblock > div.attribution {
|
||||
padding-top: 0.75em;
|
||||
text-align: left;
|
||||
}
|
||||
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||
div.verseblock + div.attribution {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.admonitionblock .icon {
|
||||
vertical-align: top;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
color: #527bbd;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
div.admonitionblock td.content {
|
||||
padding-left: 0.5em;
|
||||
border-left: 3px solid #dddddd;
|
||||
}
|
||||
|
||||
div.exampleblock > div.content {
|
||||
border-left: 3px solid #dddddd;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
div.imageblock div.content { padding-left: 0; }
|
||||
span.image img { border-style: none; vertical-align: text-bottom; }
|
||||
a.image:visited { color: white; }
|
||||
|
||||
dl {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
dt {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0;
|
||||
font-style: normal;
|
||||
color: navy;
|
||||
}
|
||||
dd > *:first-child {
|
||||
margin-top: 0.1em;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
list-style-position: outside;
|
||||
}
|
||||
ol.arabic {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
ol.loweralpha {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
ol.upperalpha {
|
||||
list-style-type: upper-alpha;
|
||||
}
|
||||
ol.lowerroman {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
ol.upperroman {
|
||||
list-style-type: upper-roman;
|
||||
}
|
||||
|
||||
div.compact ul, div.compact ol,
|
||||
div.compact p, div.compact p,
|
||||
div.compact div, div.compact div {
|
||||
margin-top: 0.1em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
tfoot {
|
||||
font-weight: bold;
|
||||
}
|
||||
td > div.verse {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
div.hdlist {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
div.hdlist tr {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
dt.hdlist1.strong, td.hdlist1.strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
td.hdlist1 {
|
||||
vertical-align: top;
|
||||
font-style: normal;
|
||||
padding-right: 0.8em;
|
||||
color: navy;
|
||||
}
|
||||
td.hdlist2 {
|
||||
vertical-align: top;
|
||||
}
|
||||
div.hdlist.compact tr {
|
||||
margin: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.comment {
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
.footnote, .footnoteref {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
span.footnote, span.footnoteref {
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
#footnotes {
|
||||
margin: 20px 0 20px 0;
|
||||
padding: 7px 0 0 0;
|
||||
}
|
||||
|
||||
#footnotes div.footnote {
|
||||
margin: 0 0 5px 0;
|
||||
}
|
||||
|
||||
#footnotes hr {
|
||||
border: none;
|
||||
border-top: 1px solid silver;
|
||||
height: 1px;
|
||||
text-align: left;
|
||||
margin-left: 0;
|
||||
width: 20%;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
div.colist td {
|
||||
padding-right: 0.5em;
|
||||
padding-bottom: 0.3em;
|
||||
vertical-align: top;
|
||||
}
|
||||
div.colist td img {
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
#footer-badges { display: none; }
|
||||
}
|
||||
|
||||
#toc {
|
||||
margin-bottom: 2.5em;
|
||||
}
|
||||
|
||||
#toctitle {
|
||||
color: #527bbd;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
div.toclevel2 {
|
||||
margin-left: 2em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel3 {
|
||||
margin-left: 4em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel4 {
|
||||
margin-left: 6em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
span.aqua { color: aqua; }
|
||||
span.black { color: black; }
|
||||
span.blue { color: blue; }
|
||||
span.fuchsia { color: fuchsia; }
|
||||
span.gray { color: gray; }
|
||||
span.green { color: green; }
|
||||
span.lime { color: lime; }
|
||||
span.maroon { color: maroon; }
|
||||
span.navy { color: navy; }
|
||||
span.olive { color: olive; }
|
||||
span.purple { color: purple; }
|
||||
span.red { color: red; }
|
||||
span.silver { color: silver; }
|
||||
span.teal { color: teal; }
|
||||
span.white { color: white; }
|
||||
span.yellow { color: yellow; }
|
||||
|
||||
span.aqua-background { background: aqua; }
|
||||
span.black-background { background: black; }
|
||||
span.blue-background { background: blue; }
|
||||
span.fuchsia-background { background: fuchsia; }
|
||||
span.gray-background { background: gray; }
|
||||
span.green-background { background: green; }
|
||||
span.lime-background { background: lime; }
|
||||
span.maroon-background { background: maroon; }
|
||||
span.navy-background { background: navy; }
|
||||
span.olive-background { background: olive; }
|
||||
span.purple-background { background: purple; }
|
||||
span.red-background { background: red; }
|
||||
span.silver-background { background: silver; }
|
||||
span.teal-background { background: teal; }
|
||||
span.white-background { background: white; }
|
||||
span.yellow-background { background: yellow; }
|
||||
|
||||
span.big { font-size: 2em; }
|
||||
span.small { font-size: 0.6em; }
|
||||
|
||||
span.underline { text-decoration: underline; }
|
||||
span.overline { text-decoration: overline; }
|
||||
span.line-through { text-decoration: line-through; }
|
||||
|
||||
div.unbreakable { page-break-inside: avoid; }
|
||||
|
||||
|
||||
/*
|
||||
* xhtml11 specific
|
||||
*
|
||||
* */
|
||||
|
||||
div.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.tableblock > table {
|
||||
border: 3px solid #527bbd;
|
||||
}
|
||||
thead, p.table.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.table {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||
div.tableblock > table[frame="void"] {
|
||||
border-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="hsides"] {
|
||||
border-left-style: none;
|
||||
border-right-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="vsides"] {
|
||||
border-top-style: none;
|
||||
border-bottom-style: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html5 specific
|
||||
*
|
||||
* */
|
||||
|
||||
table.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
thead, p.tableblock.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.tableblock {
|
||||
margin-top: 0;
|
||||
}
|
||||
table.tableblock {
|
||||
border-width: 3px;
|
||||
border-spacing: 0px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
th.tableblock, td.tableblock {
|
||||
border-width: 1px;
|
||||
padding: 4px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
}
|
||||
|
||||
table.tableblock.frame-topbot {
|
||||
border-left-style: hidden;
|
||||
border-right-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-sides {
|
||||
border-top-style: hidden;
|
||||
border-bottom-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-none {
|
||||
border-style: hidden;
|
||||
}
|
||||
|
||||
th.tableblock.halign-left, td.tableblock.halign-left {
|
||||
text-align: left;
|
||||
}
|
||||
th.tableblock.halign-center, td.tableblock.halign-center {
|
||||
text-align: center;
|
||||
}
|
||||
th.tableblock.halign-right, td.tableblock.halign-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
th.tableblock.valign-top, td.tableblock.valign-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* manpage specific
|
||||
*
|
||||
* */
|
||||
|
||||
body.manpage h1 {
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
border-top: 2px solid silver;
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
body.manpage h2 {
|
||||
border-style: none;
|
||||
}
|
||||
body.manpage div.sectionbody {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body.manpage div#toc { display: none; }
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
/*<+'])');
|
||||
// Function that scans the DOM tree for header elements (the DOM2
|
||||
// nodeIterator API would be a better technique but not supported by all
|
||||
// browsers).
|
||||
var iterate = function (el) {
|
||||
for (var i = el.firstChild; i != null; i = i.nextSibling) {
|
||||
if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
|
||||
var mo = re.exec(i.tagName);
|
||||
if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
|
||||
result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
|
||||
}
|
||||
iterate(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
iterate(el);
|
||||
return result;
|
||||
}
|
||||
|
||||
var toc = document.getElementById("toc");
|
||||
if (!toc) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Delete existing TOC entries in case we're reloading the TOC.
|
||||
var tocEntriesToRemove = [];
|
||||
var i;
|
||||
for (i = 0; i < toc.childNodes.length; i++) {
|
||||
var entry = toc.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div'
|
||||
&& entry.getAttribute("class")
|
||||
&& entry.getAttribute("class").match(/^toclevel/))
|
||||
tocEntriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < tocEntriesToRemove.length; i++) {
|
||||
toc.removeChild(tocEntriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild TOC entries.
|
||||
var entries = tocEntries(document.getElementById("content"), toclevels);
|
||||
for (var i = 0; i < entries.length; ++i) {
|
||||
var entry = entries[i];
|
||||
if (entry.element.id == "")
|
||||
entry.element.id = "_toc_" + i;
|
||||
var a = document.createElement("a");
|
||||
a.href = "#" + entry.element.id;
|
||||
a.appendChild(document.createTextNode(entry.text));
|
||||
var div = document.createElement("div");
|
||||
div.appendChild(a);
|
||||
div.className = "toclevel" + entry.toclevel;
|
||||
toc.appendChild(div);
|
||||
}
|
||||
if (entries.length == 0)
|
||||
toc.parentNode.removeChild(toc);
|
||||
},
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// Footnotes generator
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
/* Based on footnote generation code from:
|
||||
* http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
|
||||
*/
|
||||
|
||||
footnotes: function () {
|
||||
// Delete existing footnote entries in case we're reloading the footnodes.
|
||||
var i;
|
||||
var noteholder = document.getElementById("footnotes");
|
||||
if (!noteholder) {
|
||||
return;
|
||||
}
|
||||
var entriesToRemove = [];
|
||||
for (i = 0; i < noteholder.childNodes.length; i++) {
|
||||
var entry = noteholder.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
|
||||
entriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < entriesToRemove.length; i++) {
|
||||
noteholder.removeChild(entriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild footnote entries.
|
||||
var cont = document.getElementById("content");
|
||||
var spans = cont.getElementsByTagName("span");
|
||||
var refs = {};
|
||||
var n = 0;
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnote") {
|
||||
n++;
|
||||
var note = spans[i].getAttribute("data-note");
|
||||
if (!note) {
|
||||
// Use [\s\S] in place of . so multi-line matches work.
|
||||
// Because JavaScript has no s (dotall) regex flag.
|
||||
note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
|
||||
spans[i].innerHTML =
|
||||
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
spans[i].setAttribute("data-note", note);
|
||||
}
|
||||
noteholder.innerHTML +=
|
||||
"<div class='footnote' id='_footnote_" + n + "'>" +
|
||||
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
|
||||
n + "</a>. " + note + "</div>";
|
||||
var id =spans[i].getAttribute("id");
|
||||
if (id != null) refs["#"+id] = n;
|
||||
}
|
||||
}
|
||||
if (n == 0)
|
||||
noteholder.parentNode.removeChild(noteholder);
|
||||
else {
|
||||
// Process footnoterefs.
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnoteref") {
|
||||
var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
|
||||
href = href.match(/#.*/)[0]; // Because IE return full URL.
|
||||
n = refs[href];
|
||||
spans[i].innerHTML =
|
||||
"[<a href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
install: function(toclevels) {
|
||||
var timerId;
|
||||
|
||||
function reinstall() {
|
||||
asciidoc.footnotes();
|
||||
if (toclevels) {
|
||||
asciidoc.toc(toclevels);
|
||||
}
|
||||
}
|
||||
|
||||
function reinstallAndRemoveTimer() {
|
||||
clearInterval(timerId);
|
||||
reinstall();
|
||||
}
|
||||
|
||||
timerId = setInterval(reinstall, 500);
|
||||
if (document.addEventListener)
|
||||
document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
|
||||
else
|
||||
window.onload = reinstallAndRemoveTimer;
|
||||
}
|
||||
|
||||
}
|
||||
asciidoc.install();
|
||||
/*]]>*/
|
||||
</script>
|
||||
</head>
|
||||
<body class="manpage">
|
||||
<div id="header">
|
||||
<h1>
|
||||
nvme-endurance-event-agg-log(1) Manual Page
|
||||
</h1>
|
||||
<h2>NAME</h2>
|
||||
<div class="sectionbody">
|
||||
<p>nvme-endurance-event-agg-log -
|
||||
Send NVMe Endurance log page request, returns result and log
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div class="sect1">
|
||||
<h2 id="_synopsis">SYNOPSIS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="verseblock">
|
||||
<pre class="content"><em>nvme endurance-event-agg-log</em> <device> [--log-entries=<log_entries> | -e <log_entries>]
|
||||
[--rae | -r] [--raw-binary | -b]
|
||||
[--output-format=<fmt> | -o <fmt>]</pre>
|
||||
<div class="attribution">
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_description">DESCRIPTION</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>Retrieves the NVMe Endurance Event Aggregate log page from an NVMe device and
|
||||
provides the returned structure.</p></div>
|
||||
<div class="paragraph"><p>The <device> parameter is mandatory and may be either the NVMe character
|
||||
device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).</p></div>
|
||||
<div class="paragraph"><p>On success, the returned endurance event agg log structure may be returned
|
||||
in one of several ways depending on the option flags; the structure may parsed
|
||||
by the program and printed in a readable format, the raw buffer may be
|
||||
printed to stdout for another program to parse, or reported in json format.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_options">OPTIONS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="dlist"><dl>
|
||||
<dt class="hdlist1">
|
||||
-e <log_entries>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
--log-entries=<log_entries>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Retrieve the Endurance Group Event Aggregate Log pending entries.
|
||||
This argument is mandatory and its success may depend on the device’s
|
||||
statistics to provide this log For More details see NVM Express 1.4 Spec.
|
||||
Section 5.14.1.15. The maximum number of log entries supported is 2044
|
||||
for the device.
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
-r
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
--rae
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Retain an Asynchronous Event.
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
-o <format>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
--output-format=<format>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Set the reporting format to <em>normal</em>, <em>json</em>, or
|
||||
<em>binary</em>. Only one output format can be used at a time.
|
||||
</p>
|
||||
</dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_examples">EXAMPLES</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="ulist"><ul>
|
||||
<li>
|
||||
<p>
|
||||
Print the Endurance log page in a human readable format:
|
||||
</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre><code># nvme endurance-event-agg-log /dev/nvme0</code></pre>
|
||||
</div></div>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
Print the raw Endurance log to a file:
|
||||
</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre><code># nvme endurance-event-agg-log /dev/nvme0 --output=binary > endurance_event_agg_log.raw</code></pre>
|
||||
</div></div>
|
||||
<div class="paragraph"><p>It is probably a bad idea to not redirect stdout when using this mode.</p></div>
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_nvme">NVME</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>Part of the nvme-user suite</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footnotes"><hr /></div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2021-02-20 21:58:13 IST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
66
Documentation/nvme-endurance-event-agg-log.txt
Normal file
66
Documentation/nvme-endurance-event-agg-log.txt
Normal file
|
@ -0,0 +1,66 @@
|
|||
nvme-endurance-event-agg-log(1)
|
||||
===============================
|
||||
|
||||
NAME
|
||||
----
|
||||
nvme-endurance-event-agg-log - Send NVMe Endurance log page request, returns result and log
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'nvme endurance-event-agg-log' <device> [--log-entries=<log_entries> | -e <log_entries>]
|
||||
[--rae | -r] [--raw-binary | -b]
|
||||
[--output-format=<fmt> | -o <fmt>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Retrieves the NVMe Endurance Event Aggregate log page from an NVMe device and
|
||||
provides the returned structure.
|
||||
|
||||
The <device> parameter is mandatory and may be either the NVMe character
|
||||
device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).
|
||||
|
||||
On success, the returned endurance event agg log structure may be returned
|
||||
in one of several ways depending on the option flags; the structure may parsed
|
||||
by the program and printed in a readable format, the raw buffer may be
|
||||
printed to stdout for another program to parse, or reported in json format.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-e <log_entries>::
|
||||
--log-entries=<log_entries>::
|
||||
Retrieve the Endurance Group Event Aggregate Log pending entries.
|
||||
This argument is mandatory and its success may depend on the device's
|
||||
statistics to provide this log For More details see NVM Express 1.4 Spec.
|
||||
Section 5.14.1.15. The maximum number of log entries supported is 2044
|
||||
for the device.
|
||||
|
||||
-r::
|
||||
--rae::
|
||||
Retain an Asynchronous Event.
|
||||
|
||||
-o <format>::
|
||||
--output-format=<format>::
|
||||
Set the reporting format to 'normal', 'json', or
|
||||
'binary'. Only one output format can be used at a time.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
* Print the Endurance log page in a human readable format:
|
||||
+
|
||||
------------
|
||||
# nvme endurance-event-agg-log /dev/nvme0
|
||||
------------
|
||||
+
|
||||
|
||||
* Print the raw Endurance log to a file:
|
||||
+
|
||||
------------
|
||||
# nvme endurance-event-agg-log /dev/nvme0 --output=binary > endurance_event_agg_log.raw
|
||||
------------
|
||||
+
|
||||
It is probably a bad idea to not redirect stdout when using this mode.
|
||||
|
||||
NVME
|
||||
----
|
||||
Part of the nvme-user suite
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-endurance-log
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-ENDURANCE\-LOG" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-ENDURANCE\-LOG" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -834,7 +834,7 @@ Print the raw Endurance log to a file:
|
|||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2019-11-08 02:18:28 JST
|
||||
2020-06-08 08:31:26 PDT
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-error-log
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-ERROR\-LOG" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-ERROR\-LOG" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-flush
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-FLUSH" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-FLUSH" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-format
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-FORMAT" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-FORMAT" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-fw-commit
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-FW\-COMMIT" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-FW\-COMMIT" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-fw-download
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-FW\-DOWNLOAD" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-FW\-DOWNLOAD" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-fw-log
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-FW\-LOG" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-FW\-LOG" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-gen-hostnqn
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-GEN\-HOSTNQN" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-GEN\-HOSTNQN" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-get-feature
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-GET\-FEATURE" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-GET\-FEATURE" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-get-log
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-GET\-LOG" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-GET\-LOG" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-get-ns-id
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-GET\-NS\-ID" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-GET\-NS\-ID" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<title>nvme-get-ns-id(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
@ -94,7 +95,9 @@ ul > li > * { color: black; }
|
|||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#author {
|
||||
color: #527bbd;
|
||||
|
@ -223,7 +226,7 @@ div.exampleblock > div.content {
|
|||
}
|
||||
|
||||
div.imageblock div.content { padding-left: 0; }
|
||||
span.image img { border-style: none; }
|
||||
span.image img { border-style: none; vertical-align: text-bottom; }
|
||||
a.image:visited { color: white; }
|
||||
|
||||
dl {
|
||||
|
@ -433,7 +436,7 @@ thead, p.table.header {
|
|||
p.table {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Because the table frame attribute is overridden by CSS in most browsers. */
|
||||
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||
div.tableblock > table[frame="void"] {
|
||||
border-style: none;
|
||||
}
|
||||
|
@ -790,7 +793,8 @@ Shows the namespace id for the given block device:
|
|||
<div id="footnotes"><hr /></div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated 2016-05-16 12:47:42 EDT
|
||||
Last updated
|
||||
2020-06-08 08:31:26 PDT
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-get-property
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-GET\-PROPERTY" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-GET\-PROPERTY" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-help
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-HELP" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-HELP" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-huawei-id-ctrl
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-HUAWEI\-ID\-CT" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-HUAWEI\-ID\-CT" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-list
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-LIST" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-LIST" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-id-ctrl
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-ID\-CTRL" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-ID\-CTRL" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
72
Documentation/nvme-id-iocs.1
Normal file
72
Documentation/nvme-id-iocs.1
Normal file
|
@ -0,0 +1,72 @@
|
|||
'\" t
|
||||
.\" Title: nvme-id-iocs
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-ID\-IOCS" "1" "10/20/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-id-iocs \- Send NVMe Identify I/O Command Set, return result and structure
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
.nf
|
||||
\fInvme id\-iocs\fR <device> [\-\-controller\-id=<cntid> | \-c <cntid>]
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
For the NVMe device given, send an identify command and return the Identify I/O Command Set data structure\&.
|
||||
.sp
|
||||
The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\-c <cntid>, \-\-controller\-id=<cntid>
|
||||
.RS 4
|
||||
Retrieve the identify I/O Command set data structure for the given cntid\&. If this value is not given, cntid will be 0xffff\&.
|
||||
.RE
|
||||
.SH "EXAMPLES"
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
Have the program interpret the returned buffer and display the known fields in a human readable format:
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
# nvme id\-iocs /dev/nvme0
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.RE
|
||||
.SH "NVME"
|
||||
.sp
|
||||
Part of the nvme\-user suite
|
817
Documentation/nvme-id-iocs.html
Normal file
817
Documentation/nvme-id-iocs.html
Normal file
|
@ -0,0 +1,817 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<title>nvme-id-iocs(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
||||
/* Default font. */
|
||||
body {
|
||||
font-family: Georgia,serif;
|
||||
}
|
||||
|
||||
/* Title font. */
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
div.title, caption.title,
|
||||
thead, p.table.header,
|
||||
#toctitle,
|
||||
#author, #revnumber, #revdate, #revremark,
|
||||
#footer {
|
||||
font-family: Arial,Helvetica,sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 1em 5% 1em 5%;
|
||||
}
|
||||
|
||||
a {
|
||||
color: blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:visited {
|
||||
color: fuchsia;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
color: navy;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
color: #083194;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #527bbd;
|
||||
margin-top: 1.2em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
h2 {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
h3 {
|
||||
float: left;
|
||||
}
|
||||
h3 + * {
|
||||
clear: left;
|
||||
}
|
||||
h5 {
|
||||
font-size: 1.0em;
|
||||
}
|
||||
|
||||
div.sectionbody {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid silver;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
ul, ol, li > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
ul > li { color: #aaa; }
|
||||
ul > li > * { color: black; }
|
||||
|
||||
.monospaced, code, pre {
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
font-size: inherit;
|
||||
color: navy;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#author {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
#email {
|
||||
}
|
||||
#revnumber, #revdate, #revremark {
|
||||
}
|
||||
|
||||
#footer {
|
||||
font-size: small;
|
||||
border-top: 2px solid silver;
|
||||
padding-top: 0.5em;
|
||||
margin-top: 4.0em;
|
||||
}
|
||||
#footer-text {
|
||||
float: left;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#footer-badges {
|
||||
float: right;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
#preamble {
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.imageblock, div.exampleblock, div.verseblock,
|
||||
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||
div.admonitionblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.admonitionblock {
|
||||
margin-top: 2.0em;
|
||||
margin-bottom: 2.0em;
|
||||
margin-right: 10%;
|
||||
color: #606060;
|
||||
}
|
||||
|
||||
div.content { /* Block element content. */
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Block element titles. */
|
||||
div.title, caption.title {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
div.title + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
td div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content + div.title {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
|
||||
div.sidebarblock > div.content {
|
||||
background: #ffffee;
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 4px solid #f0f0f0;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.listingblock > div.content {
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
background: #f8f8f8;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.quoteblock, div.verseblock {
|
||||
padding-left: 1.0em;
|
||||
margin-left: 1.0em;
|
||||
margin-right: 10%;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
div.quoteblock > div.attribution {
|
||||
padding-top: 0.5em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.verseblock > pre.content {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
div.verseblock > div.attribution {
|
||||
padding-top: 0.75em;
|
||||
text-align: left;
|
||||
}
|
||||
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||
div.verseblock + div.attribution {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.admonitionblock .icon {
|
||||
vertical-align: top;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
color: #527bbd;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
div.admonitionblock td.content {
|
||||
padding-left: 0.5em;
|
||||
border-left: 3px solid #dddddd;
|
||||
}
|
||||
|
||||
div.exampleblock > div.content {
|
||||
border-left: 3px solid #dddddd;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
div.imageblock div.content { padding-left: 0; }
|
||||
span.image img { border-style: none; vertical-align: text-bottom; }
|
||||
a.image:visited { color: white; }
|
||||
|
||||
dl {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
dt {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0;
|
||||
font-style: normal;
|
||||
color: navy;
|
||||
}
|
||||
dd > *:first-child {
|
||||
margin-top: 0.1em;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
list-style-position: outside;
|
||||
}
|
||||
ol.arabic {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
ol.loweralpha {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
ol.upperalpha {
|
||||
list-style-type: upper-alpha;
|
||||
}
|
||||
ol.lowerroman {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
ol.upperroman {
|
||||
list-style-type: upper-roman;
|
||||
}
|
||||
|
||||
div.compact ul, div.compact ol,
|
||||
div.compact p, div.compact p,
|
||||
div.compact div, div.compact div {
|
||||
margin-top: 0.1em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
tfoot {
|
||||
font-weight: bold;
|
||||
}
|
||||
td > div.verse {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
div.hdlist {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
div.hdlist tr {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
dt.hdlist1.strong, td.hdlist1.strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
td.hdlist1 {
|
||||
vertical-align: top;
|
||||
font-style: normal;
|
||||
padding-right: 0.8em;
|
||||
color: navy;
|
||||
}
|
||||
td.hdlist2 {
|
||||
vertical-align: top;
|
||||
}
|
||||
div.hdlist.compact tr {
|
||||
margin: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.comment {
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
.footnote, .footnoteref {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
span.footnote, span.footnoteref {
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
#footnotes {
|
||||
margin: 20px 0 20px 0;
|
||||
padding: 7px 0 0 0;
|
||||
}
|
||||
|
||||
#footnotes div.footnote {
|
||||
margin: 0 0 5px 0;
|
||||
}
|
||||
|
||||
#footnotes hr {
|
||||
border: none;
|
||||
border-top: 1px solid silver;
|
||||
height: 1px;
|
||||
text-align: left;
|
||||
margin-left: 0;
|
||||
width: 20%;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
div.colist td {
|
||||
padding-right: 0.5em;
|
||||
padding-bottom: 0.3em;
|
||||
vertical-align: top;
|
||||
}
|
||||
div.colist td img {
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
#footer-badges { display: none; }
|
||||
}
|
||||
|
||||
#toc {
|
||||
margin-bottom: 2.5em;
|
||||
}
|
||||
|
||||
#toctitle {
|
||||
color: #527bbd;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
div.toclevel2 {
|
||||
margin-left: 2em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel3 {
|
||||
margin-left: 4em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel4 {
|
||||
margin-left: 6em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
span.aqua { color: aqua; }
|
||||
span.black { color: black; }
|
||||
span.blue { color: blue; }
|
||||
span.fuchsia { color: fuchsia; }
|
||||
span.gray { color: gray; }
|
||||
span.green { color: green; }
|
||||
span.lime { color: lime; }
|
||||
span.maroon { color: maroon; }
|
||||
span.navy { color: navy; }
|
||||
span.olive { color: olive; }
|
||||
span.purple { color: purple; }
|
||||
span.red { color: red; }
|
||||
span.silver { color: silver; }
|
||||
span.teal { color: teal; }
|
||||
span.white { color: white; }
|
||||
span.yellow { color: yellow; }
|
||||
|
||||
span.aqua-background { background: aqua; }
|
||||
span.black-background { background: black; }
|
||||
span.blue-background { background: blue; }
|
||||
span.fuchsia-background { background: fuchsia; }
|
||||
span.gray-background { background: gray; }
|
||||
span.green-background { background: green; }
|
||||
span.lime-background { background: lime; }
|
||||
span.maroon-background { background: maroon; }
|
||||
span.navy-background { background: navy; }
|
||||
span.olive-background { background: olive; }
|
||||
span.purple-background { background: purple; }
|
||||
span.red-background { background: red; }
|
||||
span.silver-background { background: silver; }
|
||||
span.teal-background { background: teal; }
|
||||
span.white-background { background: white; }
|
||||
span.yellow-background { background: yellow; }
|
||||
|
||||
span.big { font-size: 2em; }
|
||||
span.small { font-size: 0.6em; }
|
||||
|
||||
span.underline { text-decoration: underline; }
|
||||
span.overline { text-decoration: overline; }
|
||||
span.line-through { text-decoration: line-through; }
|
||||
|
||||
div.unbreakable { page-break-inside: avoid; }
|
||||
|
||||
|
||||
/*
|
||||
* xhtml11 specific
|
||||
*
|
||||
* */
|
||||
|
||||
div.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.tableblock > table {
|
||||
border: 3px solid #527bbd;
|
||||
}
|
||||
thead, p.table.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.table {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||
div.tableblock > table[frame="void"] {
|
||||
border-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="hsides"] {
|
||||
border-left-style: none;
|
||||
border-right-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="vsides"] {
|
||||
border-top-style: none;
|
||||
border-bottom-style: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html5 specific
|
||||
*
|
||||
* */
|
||||
|
||||
table.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
thead, p.tableblock.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.tableblock {
|
||||
margin-top: 0;
|
||||
}
|
||||
table.tableblock {
|
||||
border-width: 3px;
|
||||
border-spacing: 0px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
th.tableblock, td.tableblock {
|
||||
border-width: 1px;
|
||||
padding: 4px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
}
|
||||
|
||||
table.tableblock.frame-topbot {
|
||||
border-left-style: hidden;
|
||||
border-right-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-sides {
|
||||
border-top-style: hidden;
|
||||
border-bottom-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-none {
|
||||
border-style: hidden;
|
||||
}
|
||||
|
||||
th.tableblock.halign-left, td.tableblock.halign-left {
|
||||
text-align: left;
|
||||
}
|
||||
th.tableblock.halign-center, td.tableblock.halign-center {
|
||||
text-align: center;
|
||||
}
|
||||
th.tableblock.halign-right, td.tableblock.halign-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
th.tableblock.valign-top, td.tableblock.valign-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* manpage specific
|
||||
*
|
||||
* */
|
||||
|
||||
body.manpage h1 {
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
border-top: 2px solid silver;
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
body.manpage h2 {
|
||||
border-style: none;
|
||||
}
|
||||
body.manpage div.sectionbody {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body.manpage div#toc { display: none; }
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
/*<+'])');
|
||||
// Function that scans the DOM tree for header elements (the DOM2
|
||||
// nodeIterator API would be a better technique but not supported by all
|
||||
// browsers).
|
||||
var iterate = function (el) {
|
||||
for (var i = el.firstChild; i != null; i = i.nextSibling) {
|
||||
if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
|
||||
var mo = re.exec(i.tagName);
|
||||
if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
|
||||
result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
|
||||
}
|
||||
iterate(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
iterate(el);
|
||||
return result;
|
||||
}
|
||||
|
||||
var toc = document.getElementById("toc");
|
||||
if (!toc) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Delete existing TOC entries in case we're reloading the TOC.
|
||||
var tocEntriesToRemove = [];
|
||||
var i;
|
||||
for (i = 0; i < toc.childNodes.length; i++) {
|
||||
var entry = toc.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div'
|
||||
&& entry.getAttribute("class")
|
||||
&& entry.getAttribute("class").match(/^toclevel/))
|
||||
tocEntriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < tocEntriesToRemove.length; i++) {
|
||||
toc.removeChild(tocEntriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild TOC entries.
|
||||
var entries = tocEntries(document.getElementById("content"), toclevels);
|
||||
for (var i = 0; i < entries.length; ++i) {
|
||||
var entry = entries[i];
|
||||
if (entry.element.id == "")
|
||||
entry.element.id = "_toc_" + i;
|
||||
var a = document.createElement("a");
|
||||
a.href = "#" + entry.element.id;
|
||||
a.appendChild(document.createTextNode(entry.text));
|
||||
var div = document.createElement("div");
|
||||
div.appendChild(a);
|
||||
div.className = "toclevel" + entry.toclevel;
|
||||
toc.appendChild(div);
|
||||
}
|
||||
if (entries.length == 0)
|
||||
toc.parentNode.removeChild(toc);
|
||||
},
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// Footnotes generator
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
/* Based on footnote generation code from:
|
||||
* http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
|
||||
*/
|
||||
|
||||
footnotes: function () {
|
||||
// Delete existing footnote entries in case we're reloading the footnodes.
|
||||
var i;
|
||||
var noteholder = document.getElementById("footnotes");
|
||||
if (!noteholder) {
|
||||
return;
|
||||
}
|
||||
var entriesToRemove = [];
|
||||
for (i = 0; i < noteholder.childNodes.length; i++) {
|
||||
var entry = noteholder.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
|
||||
entriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < entriesToRemove.length; i++) {
|
||||
noteholder.removeChild(entriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild footnote entries.
|
||||
var cont = document.getElementById("content");
|
||||
var spans = cont.getElementsByTagName("span");
|
||||
var refs = {};
|
||||
var n = 0;
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnote") {
|
||||
n++;
|
||||
var note = spans[i].getAttribute("data-note");
|
||||
if (!note) {
|
||||
// Use [\s\S] in place of . so multi-line matches work.
|
||||
// Because JavaScript has no s (dotall) regex flag.
|
||||
note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
|
||||
spans[i].innerHTML =
|
||||
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
spans[i].setAttribute("data-note", note);
|
||||
}
|
||||
noteholder.innerHTML +=
|
||||
"<div class='footnote' id='_footnote_" + n + "'>" +
|
||||
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
|
||||
n + "</a>. " + note + "</div>";
|
||||
var id =spans[i].getAttribute("id");
|
||||
if (id != null) refs["#"+id] = n;
|
||||
}
|
||||
}
|
||||
if (n == 0)
|
||||
noteholder.parentNode.removeChild(noteholder);
|
||||
else {
|
||||
// Process footnoterefs.
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnoteref") {
|
||||
var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
|
||||
href = href.match(/#.*/)[0]; // Because IE return full URL.
|
||||
n = refs[href];
|
||||
spans[i].innerHTML =
|
||||
"[<a href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
install: function(toclevels) {
|
||||
var timerId;
|
||||
|
||||
function reinstall() {
|
||||
asciidoc.footnotes();
|
||||
if (toclevels) {
|
||||
asciidoc.toc(toclevels);
|
||||
}
|
||||
}
|
||||
|
||||
function reinstallAndRemoveTimer() {
|
||||
clearInterval(timerId);
|
||||
reinstall();
|
||||
}
|
||||
|
||||
timerId = setInterval(reinstall, 500);
|
||||
if (document.addEventListener)
|
||||
document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
|
||||
else
|
||||
window.onload = reinstallAndRemoveTimer;
|
||||
}
|
||||
|
||||
}
|
||||
asciidoc.install();
|
||||
/*]]>*/
|
||||
</script>
|
||||
</head>
|
||||
<body class="manpage">
|
||||
<div id="header">
|
||||
<h1>
|
||||
nvme-id-iocs(1) Manual Page
|
||||
</h1>
|
||||
<h2>NAME</h2>
|
||||
<div class="sectionbody">
|
||||
<p>nvme-id-iocs -
|
||||
Send NVMe Identify I/O Command Set, return result and structure
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div class="sect1">
|
||||
<h2 id="_synopsis">SYNOPSIS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="verseblock">
|
||||
<pre class="content"><em>nvme id-iocs</em> <device> [--controller-id=<cntid> | -c <cntid>]</pre>
|
||||
<div class="attribution">
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_description">DESCRIPTION</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>For the NVMe device given, send an identify command and return the Identify I/O
|
||||
Command Set data structure.</p></div>
|
||||
<div class="paragraph"><p>The <device> parameter is mandatory and may be either the NVMe character
|
||||
device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_options">OPTIONS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="dlist"><dl>
|
||||
<dt class="hdlist1">
|
||||
-c <cntid>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
--controller-id=<cntid>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Retrieve the identify I/O Command set data structure for the given
|
||||
cntid. If this value is not given, cntid will be 0xffff.
|
||||
</p>
|
||||
</dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_examples">EXAMPLES</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="ulist"><ul>
|
||||
<li>
|
||||
<p>
|
||||
Have the program interpret the returned buffer and display the known
|
||||
fields in a human readable format:
|
||||
</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre><code># nvme id-iocs /dev/nvme0</code></pre>
|
||||
</div></div>
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_nvme">NVME</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>Part of the nvme-user suite</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footnotes"><hr /></div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2020-05-06 10:39:59 CEST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
39
Documentation/nvme-id-iocs.txt
Normal file
39
Documentation/nvme-id-iocs.txt
Normal file
|
@ -0,0 +1,39 @@
|
|||
nvme-id-iocs(1)
|
||||
===============
|
||||
|
||||
NAME
|
||||
----
|
||||
nvme-id-iocs - Send NVMe Identify I/O Command Set, return result and structure
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'nvme id-iocs' <device> [--controller-id=<cntid> | -c <cntid>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
For the NVMe device given, send an identify command and return the Identify I/O
|
||||
Command Set data structure.
|
||||
|
||||
The <device> parameter is mandatory and may be either the NVMe character
|
||||
device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-c <cntid>::
|
||||
--controller-id=<cntid>::
|
||||
Retrieve the identify I/O Command set data structure for the given
|
||||
cntid. If this value is not given, cntid will be 0xffff.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
* Have the program interpret the returned buffer and display the known
|
||||
fields in a human readable format:
|
||||
+
|
||||
------------
|
||||
# nvme id-iocs /dev/nvme0
|
||||
------------
|
||||
|
||||
NVME
|
||||
----
|
||||
Part of the nvme-user suite
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-id-ns
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-ID\-NS" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-ID\-NS" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-id-nvmset
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-ID\-NVMSET" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-ID\-NVMSET" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-intel-id-ctrl
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-INTEL\-ID\-CTR" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-INTEL\-ID\-CTR" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-intel-internal-log
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-INTEL\-INTERNA" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-INTEL\-INTERNA" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-intel-lat-stats
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-INTEL\-LAT\-ST" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-INTEL\-LAT\-ST" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-intel-market-name
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-INTEL\-MARKET\" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-INTEL\-MARKET\" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-intel-smart-log-add
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-INTEL\-SMART\-" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-INTEL\-SMART\-" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-intel-temp-stats
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-INTEL\-TEMP\-S" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-INTEL\-TEMP\-S" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<title>nvme-intel-temp-stats(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
@ -94,7 +95,9 @@ ul > li > * { color: black; }
|
|||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#author {
|
||||
color: #527bbd;
|
||||
|
@ -223,7 +226,7 @@ div.exampleblock > div.content {
|
|||
}
|
||||
|
||||
div.imageblock div.content { padding-left: 0; }
|
||||
span.image img { border-style: none; }
|
||||
span.image img { border-style: none; vertical-align: text-bottom; }
|
||||
a.image:visited { color: white; }
|
||||
|
||||
dl {
|
||||
|
@ -433,7 +436,7 @@ thead, p.table.header {
|
|||
p.table {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Because the table frame attribute is overridden by CSS in most browsers. */
|
||||
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||
div.tableblock > table[frame="void"] {
|
||||
border-style: none;
|
||||
}
|
||||
|
@ -818,7 +821,8 @@ Print the raw SMART log to a file:
|
|||
<div id="footnotes"><hr /></div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated 2017-02-27 10:11:58 EST
|
||||
Last updated
|
||||
2020-06-08 08:31:26 PDT
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-io-passthru
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-IO\-PASSTHRU" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-IO\-PASSTHRU" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
105
Documentation/nvme-lba-status-log.1
Normal file
105
Documentation/nvme-lba-status-log.1
Normal file
|
@ -0,0 +1,105 @@
|
|||
'\" t
|
||||
.\" Title: nvme-lba-status-log
|
||||
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
|
||||
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
||||
.\" Date: 02/24/2021
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-LBA\-STATUS\-L" "1" "02/24/2021" "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-lba-status-log \- Send LBA Status Log Page request returns result and log
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
.nf
|
||||
\fInvme lba\-status\-log\fR <device> [\-\-rae | \-r] [\-\-output\-format=<fmt> | \-o <fmt>]
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
Retrieves the NVMe LBA Status Log Page from an NVMe device and provides the returned structure\&.
|
||||
.sp
|
||||
The <device> 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 LBA Status Log Page structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse\&.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\-r, \-\-rae
|
||||
.RS 4
|
||||
Retain an Asynchronous Event\&.
|
||||
.RE
|
||||
.PP
|
||||
\-o <format>, \-\-output\-format=<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
|
||||
.SH "EXAMPLES"
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
Print the LBA Status Log page in a normal readable format:
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
# nvme lba\-status\-log /dev/nvme0
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
Show the output in json format
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
# nvme lba\-status\-log /dev/nvme0 \-o json
|
||||
+
|
||||
|
||||
NVME
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.RE
|
||||
.sp
|
||||
Part of the nvme\-user suite
|
838
Documentation/nvme-lba-status-log.html
Normal file
838
Documentation/nvme-lba-status-log.html
Normal file
|
@ -0,0 +1,838 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<title>nvme-lba-status-log(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
||||
/* Default font. */
|
||||
body {
|
||||
font-family: Georgia,serif;
|
||||
}
|
||||
|
||||
/* Title font. */
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
div.title, caption.title,
|
||||
thead, p.table.header,
|
||||
#toctitle,
|
||||
#author, #revnumber, #revdate, #revremark,
|
||||
#footer {
|
||||
font-family: Arial,Helvetica,sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 1em 5% 1em 5%;
|
||||
}
|
||||
|
||||
a {
|
||||
color: blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:visited {
|
||||
color: fuchsia;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
color: navy;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
color: #083194;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #527bbd;
|
||||
margin-top: 1.2em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
h2 {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
h3 {
|
||||
float: left;
|
||||
}
|
||||
h3 + * {
|
||||
clear: left;
|
||||
}
|
||||
h5 {
|
||||
font-size: 1.0em;
|
||||
}
|
||||
|
||||
div.sectionbody {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid silver;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
ul, ol, li > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
ul > li { color: #aaa; }
|
||||
ul > li > * { color: black; }
|
||||
|
||||
.monospaced, code, pre {
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
font-size: inherit;
|
||||
color: navy;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#author {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
#email {
|
||||
}
|
||||
#revnumber, #revdate, #revremark {
|
||||
}
|
||||
|
||||
#footer {
|
||||
font-size: small;
|
||||
border-top: 2px solid silver;
|
||||
padding-top: 0.5em;
|
||||
margin-top: 4.0em;
|
||||
}
|
||||
#footer-text {
|
||||
float: left;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#footer-badges {
|
||||
float: right;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
#preamble {
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.imageblock, div.exampleblock, div.verseblock,
|
||||
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||
div.admonitionblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.admonitionblock {
|
||||
margin-top: 2.0em;
|
||||
margin-bottom: 2.0em;
|
||||
margin-right: 10%;
|
||||
color: #606060;
|
||||
}
|
||||
|
||||
div.content { /* Block element content. */
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Block element titles. */
|
||||
div.title, caption.title {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
div.title + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
td div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content + div.title {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
|
||||
div.sidebarblock > div.content {
|
||||
background: #ffffee;
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 4px solid #f0f0f0;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.listingblock > div.content {
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
background: #f8f8f8;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.quoteblock, div.verseblock {
|
||||
padding-left: 1.0em;
|
||||
margin-left: 1.0em;
|
||||
margin-right: 10%;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
div.quoteblock > div.attribution {
|
||||
padding-top: 0.5em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.verseblock > pre.content {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
div.verseblock > div.attribution {
|
||||
padding-top: 0.75em;
|
||||
text-align: left;
|
||||
}
|
||||
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||
div.verseblock + div.attribution {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.admonitionblock .icon {
|
||||
vertical-align: top;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
color: #527bbd;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
div.admonitionblock td.content {
|
||||
padding-left: 0.5em;
|
||||
border-left: 3px solid #dddddd;
|
||||
}
|
||||
|
||||
div.exampleblock > div.content {
|
||||
border-left: 3px solid #dddddd;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
div.imageblock div.content { padding-left: 0; }
|
||||
span.image img { border-style: none; vertical-align: text-bottom; }
|
||||
a.image:visited { color: white; }
|
||||
|
||||
dl {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
dt {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0;
|
||||
font-style: normal;
|
||||
color: navy;
|
||||
}
|
||||
dd > *:first-child {
|
||||
margin-top: 0.1em;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
list-style-position: outside;
|
||||
}
|
||||
ol.arabic {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
ol.loweralpha {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
ol.upperalpha {
|
||||
list-style-type: upper-alpha;
|
||||
}
|
||||
ol.lowerroman {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
ol.upperroman {
|
||||
list-style-type: upper-roman;
|
||||
}
|
||||
|
||||
div.compact ul, div.compact ol,
|
||||
div.compact p, div.compact p,
|
||||
div.compact div, div.compact div {
|
||||
margin-top: 0.1em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
tfoot {
|
||||
font-weight: bold;
|
||||
}
|
||||
td > div.verse {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
div.hdlist {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
div.hdlist tr {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
dt.hdlist1.strong, td.hdlist1.strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
td.hdlist1 {
|
||||
vertical-align: top;
|
||||
font-style: normal;
|
||||
padding-right: 0.8em;
|
||||
color: navy;
|
||||
}
|
||||
td.hdlist2 {
|
||||
vertical-align: top;
|
||||
}
|
||||
div.hdlist.compact tr {
|
||||
margin: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.comment {
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
.footnote, .footnoteref {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
span.footnote, span.footnoteref {
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
#footnotes {
|
||||
margin: 20px 0 20px 0;
|
||||
padding: 7px 0 0 0;
|
||||
}
|
||||
|
||||
#footnotes div.footnote {
|
||||
margin: 0 0 5px 0;
|
||||
}
|
||||
|
||||
#footnotes hr {
|
||||
border: none;
|
||||
border-top: 1px solid silver;
|
||||
height: 1px;
|
||||
text-align: left;
|
||||
margin-left: 0;
|
||||
width: 20%;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
div.colist td {
|
||||
padding-right: 0.5em;
|
||||
padding-bottom: 0.3em;
|
||||
vertical-align: top;
|
||||
}
|
||||
div.colist td img {
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
#footer-badges { display: none; }
|
||||
}
|
||||
|
||||
#toc {
|
||||
margin-bottom: 2.5em;
|
||||
}
|
||||
|
||||
#toctitle {
|
||||
color: #527bbd;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
div.toclevel2 {
|
||||
margin-left: 2em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel3 {
|
||||
margin-left: 4em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel4 {
|
||||
margin-left: 6em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
span.aqua { color: aqua; }
|
||||
span.black { color: black; }
|
||||
span.blue { color: blue; }
|
||||
span.fuchsia { color: fuchsia; }
|
||||
span.gray { color: gray; }
|
||||
span.green { color: green; }
|
||||
span.lime { color: lime; }
|
||||
span.maroon { color: maroon; }
|
||||
span.navy { color: navy; }
|
||||
span.olive { color: olive; }
|
||||
span.purple { color: purple; }
|
||||
span.red { color: red; }
|
||||
span.silver { color: silver; }
|
||||
span.teal { color: teal; }
|
||||
span.white { color: white; }
|
||||
span.yellow { color: yellow; }
|
||||
|
||||
span.aqua-background { background: aqua; }
|
||||
span.black-background { background: black; }
|
||||
span.blue-background { background: blue; }
|
||||
span.fuchsia-background { background: fuchsia; }
|
||||
span.gray-background { background: gray; }
|
||||
span.green-background { background: green; }
|
||||
span.lime-background { background: lime; }
|
||||
span.maroon-background { background: maroon; }
|
||||
span.navy-background { background: navy; }
|
||||
span.olive-background { background: olive; }
|
||||
span.purple-background { background: purple; }
|
||||
span.red-background { background: red; }
|
||||
span.silver-background { background: silver; }
|
||||
span.teal-background { background: teal; }
|
||||
span.white-background { background: white; }
|
||||
span.yellow-background { background: yellow; }
|
||||
|
||||
span.big { font-size: 2em; }
|
||||
span.small { font-size: 0.6em; }
|
||||
|
||||
span.underline { text-decoration: underline; }
|
||||
span.overline { text-decoration: overline; }
|
||||
span.line-through { text-decoration: line-through; }
|
||||
|
||||
div.unbreakable { page-break-inside: avoid; }
|
||||
|
||||
|
||||
/*
|
||||
* xhtml11 specific
|
||||
*
|
||||
* */
|
||||
|
||||
div.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.tableblock > table {
|
||||
border: 3px solid #527bbd;
|
||||
}
|
||||
thead, p.table.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.table {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||
div.tableblock > table[frame="void"] {
|
||||
border-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="hsides"] {
|
||||
border-left-style: none;
|
||||
border-right-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="vsides"] {
|
||||
border-top-style: none;
|
||||
border-bottom-style: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html5 specific
|
||||
*
|
||||
* */
|
||||
|
||||
table.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
thead, p.tableblock.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.tableblock {
|
||||
margin-top: 0;
|
||||
}
|
||||
table.tableblock {
|
||||
border-width: 3px;
|
||||
border-spacing: 0px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
th.tableblock, td.tableblock {
|
||||
border-width: 1px;
|
||||
padding: 4px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
}
|
||||
|
||||
table.tableblock.frame-topbot {
|
||||
border-left-style: hidden;
|
||||
border-right-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-sides {
|
||||
border-top-style: hidden;
|
||||
border-bottom-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-none {
|
||||
border-style: hidden;
|
||||
}
|
||||
|
||||
th.tableblock.halign-left, td.tableblock.halign-left {
|
||||
text-align: left;
|
||||
}
|
||||
th.tableblock.halign-center, td.tableblock.halign-center {
|
||||
text-align: center;
|
||||
}
|
||||
th.tableblock.halign-right, td.tableblock.halign-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
th.tableblock.valign-top, td.tableblock.valign-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* manpage specific
|
||||
*
|
||||
* */
|
||||
|
||||
body.manpage h1 {
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
border-top: 2px solid silver;
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
body.manpage h2 {
|
||||
border-style: none;
|
||||
}
|
||||
body.manpage div.sectionbody {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body.manpage div#toc { display: none; }
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
/*<+'])');
|
||||
// Function that scans the DOM tree for header elements (the DOM2
|
||||
// nodeIterator API would be a better technique but not supported by all
|
||||
// browsers).
|
||||
var iterate = function (el) {
|
||||
for (var i = el.firstChild; i != null; i = i.nextSibling) {
|
||||
if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
|
||||
var mo = re.exec(i.tagName);
|
||||
if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
|
||||
result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
|
||||
}
|
||||
iterate(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
iterate(el);
|
||||
return result;
|
||||
}
|
||||
|
||||
var toc = document.getElementById("toc");
|
||||
if (!toc) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Delete existing TOC entries in case we're reloading the TOC.
|
||||
var tocEntriesToRemove = [];
|
||||
var i;
|
||||
for (i = 0; i < toc.childNodes.length; i++) {
|
||||
var entry = toc.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div'
|
||||
&& entry.getAttribute("class")
|
||||
&& entry.getAttribute("class").match(/^toclevel/))
|
||||
tocEntriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < tocEntriesToRemove.length; i++) {
|
||||
toc.removeChild(tocEntriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild TOC entries.
|
||||
var entries = tocEntries(document.getElementById("content"), toclevels);
|
||||
for (var i = 0; i < entries.length; ++i) {
|
||||
var entry = entries[i];
|
||||
if (entry.element.id == "")
|
||||
entry.element.id = "_toc_" + i;
|
||||
var a = document.createElement("a");
|
||||
a.href = "#" + entry.element.id;
|
||||
a.appendChild(document.createTextNode(entry.text));
|
||||
var div = document.createElement("div");
|
||||
div.appendChild(a);
|
||||
div.className = "toclevel" + entry.toclevel;
|
||||
toc.appendChild(div);
|
||||
}
|
||||
if (entries.length == 0)
|
||||
toc.parentNode.removeChild(toc);
|
||||
},
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// Footnotes generator
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
/* Based on footnote generation code from:
|
||||
* http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
|
||||
*/
|
||||
|
||||
footnotes: function () {
|
||||
// Delete existing footnote entries in case we're reloading the footnodes.
|
||||
var i;
|
||||
var noteholder = document.getElementById("footnotes");
|
||||
if (!noteholder) {
|
||||
return;
|
||||
}
|
||||
var entriesToRemove = [];
|
||||
for (i = 0; i < noteholder.childNodes.length; i++) {
|
||||
var entry = noteholder.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
|
||||
entriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < entriesToRemove.length; i++) {
|
||||
noteholder.removeChild(entriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild footnote entries.
|
||||
var cont = document.getElementById("content");
|
||||
var spans = cont.getElementsByTagName("span");
|
||||
var refs = {};
|
||||
var n = 0;
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnote") {
|
||||
n++;
|
||||
var note = spans[i].getAttribute("data-note");
|
||||
if (!note) {
|
||||
// Use [\s\S] in place of . so multi-line matches work.
|
||||
// Because JavaScript has no s (dotall) regex flag.
|
||||
note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
|
||||
spans[i].innerHTML =
|
||||
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
spans[i].setAttribute("data-note", note);
|
||||
}
|
||||
noteholder.innerHTML +=
|
||||
"<div class='footnote' id='_footnote_" + n + "'>" +
|
||||
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
|
||||
n + "</a>. " + note + "</div>";
|
||||
var id =spans[i].getAttribute("id");
|
||||
if (id != null) refs["#"+id] = n;
|
||||
}
|
||||
}
|
||||
if (n == 0)
|
||||
noteholder.parentNode.removeChild(noteholder);
|
||||
else {
|
||||
// Process footnoterefs.
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnoteref") {
|
||||
var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
|
||||
href = href.match(/#.*/)[0]; // Because IE return full URL.
|
||||
n = refs[href];
|
||||
spans[i].innerHTML =
|
||||
"[<a href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
install: function(toclevels) {
|
||||
var timerId;
|
||||
|
||||
function reinstall() {
|
||||
asciidoc.footnotes();
|
||||
if (toclevels) {
|
||||
asciidoc.toc(toclevels);
|
||||
}
|
||||
}
|
||||
|
||||
function reinstallAndRemoveTimer() {
|
||||
clearInterval(timerId);
|
||||
reinstall();
|
||||
}
|
||||
|
||||
timerId = setInterval(reinstall, 500);
|
||||
if (document.addEventListener)
|
||||
document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
|
||||
else
|
||||
window.onload = reinstallAndRemoveTimer;
|
||||
}
|
||||
|
||||
}
|
||||
asciidoc.install();
|
||||
/*]]>*/
|
||||
</script>
|
||||
</head>
|
||||
<body class="manpage">
|
||||
<div id="header">
|
||||
<h1>
|
||||
nvme-lba-status-log(1) Manual Page
|
||||
</h1>
|
||||
<h2>NAME</h2>
|
||||
<div class="sectionbody">
|
||||
<p>nvme-lba-status-log -
|
||||
Send LBA Status Log Page request returns result and log
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div class="sect1">
|
||||
<h2 id="_synopsis">SYNOPSIS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="verseblock">
|
||||
<pre class="content"><em>nvme lba-status-log</em> <device> [--rae | -r] [--output-format=<fmt> | -o <fmt>]</pre>
|
||||
<div class="attribution">
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_description">DESCRIPTION</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>Retrieves the NVMe LBA Status Log Page from an NVMe device and provides
|
||||
the returned structure.</p></div>
|
||||
<div class="paragraph"><p>The <device> parameter is mandatory and may be either the NVMe character
|
||||
device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).</p></div>
|
||||
<div class="paragraph"><p>On success, the returned LBA Status Log Page structure may be returned
|
||||
in one of several ways depending on the option flags; the structure may
|
||||
parsed by the program and printed in a readable format or the raw buffer
|
||||
may be printed to stdout for another program to parse.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_options">OPTIONS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="dlist"><dl>
|
||||
<dt class="hdlist1">
|
||||
-r
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
--rae
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Retain an Asynchronous Event.
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
-o <format>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
--output-format=<format>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
Set the reporting format to <em>normal</em>, <em>json</em>, or <em>binary</em>.
|
||||
Only one output format can be used at a time.
|
||||
</p>
|
||||
</dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_examples">EXAMPLES</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="ulist"><ul>
|
||||
<li>
|
||||
<p>
|
||||
Print the LBA Status Log page in a normal readable format:
|
||||
</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre><code># nvme lba-status-log /dev/nvme0</code></pre>
|
||||
</div></div>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
Show the output in json format
|
||||
</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre><code># nvme lba-status-log /dev/nvme0 -o json
|
||||
+
|
||||
|
||||
NVME</code></pre>
|
||||
</div></div>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="paragraph"><p>Part of the nvme-user suite</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footnotes"><hr /></div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2021-02-23 23:41:13 IST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
54
Documentation/nvme-lba-status-log.txt
Normal file
54
Documentation/nvme-lba-status-log.txt
Normal file
|
@ -0,0 +1,54 @@
|
|||
nvme-lba-status-log(1)
|
||||
======================
|
||||
|
||||
NAME
|
||||
----
|
||||
nvme-lba-status-log - Send LBA Status Log Page request returns result and log
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'nvme lba-status-log' <device> [--rae | -r] [--output-format=<fmt> | -o <fmt>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Retrieves the NVMe LBA Status Log Page from an NVMe device and provides
|
||||
the returned structure.
|
||||
|
||||
The <device> parameter is mandatory and may be either the NVMe character
|
||||
device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).
|
||||
|
||||
On success, the returned LBA Status Log Page structure may be returned
|
||||
in one of several ways depending on the option flags; the structure may
|
||||
parsed by the program and printed in a readable format or the raw buffer
|
||||
may be printed to stdout for another program to parse.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-r::
|
||||
--rae::
|
||||
Retain an Asynchronous Event.
|
||||
|
||||
-o <format>::
|
||||
--output-format=<format>::
|
||||
Set the reporting format to 'normal', 'json', or 'binary'.
|
||||
Only one output format can be used at a time.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
* Print the LBA Status Log page in a normal readable format:
|
||||
+
|
||||
------------
|
||||
# nvme lba-status-log /dev/nvme0
|
||||
------------
|
||||
+
|
||||
|
||||
* Show the output in json format
|
||||
+
|
||||
------------
|
||||
# nvme lba-status-log /dev/nvme0 -o json
|
||||
+
|
||||
|
||||
NVME
|
||||
----
|
||||
Part of the nvme-user suite
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-id-ns
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-ID\-NS" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-ID\-NS" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-id-ns
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-ID\-NS" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-ID\-NS" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
@ -33,6 +33,7 @@ nvme-list-ns \- Send NVMe Identify List Namespaces, return result and structure
|
|||
.sp
|
||||
.nf
|
||||
\fInvme list\-ns\fR <device> [\-\-namespace\-id=<nsid> | \-n <nsid>]
|
||||
[\-\-csi=<command_set_identifier> | \-y <command_set_identifier>]
|
||||
[\-\-all | \-a]
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
|
@ -49,6 +50,11 @@ On success, the namespace array is printed for each index and nsid for a valid n
|
|||
Retrieve the identify list structure starting with the given nsid\&.
|
||||
.RE
|
||||
.PP
|
||||
\-y <command_set_identifier>, \-\-csi=<command_set_identifier>
|
||||
.RS 4
|
||||
If this value is given, retrieve the identify list structure associated with the speicified I/O command set\&.
|
||||
.RE
|
||||
.PP
|
||||
\-a, \-\-all
|
||||
.RS 4
|
||||
Retrieve the identify list structure for all namespaces in the subsystem, whether attached or inactive\&.
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.9" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<title>nvme-id-ns(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
@ -435,7 +436,7 @@ thead, p.table.header {
|
|||
p.table {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Because the table frame attribute is overridden by CSS in most browsers. */
|
||||
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||
div.tableblock > table[frame="void"] {
|
||||
border-style: none;
|
||||
}
|
||||
|
@ -749,6 +750,7 @@ nvme-id-ns(1) Manual Page
|
|||
<div class="sectionbody">
|
||||
<div class="verseblock">
|
||||
<pre class="content"><em>nvme list-ns</em> <device> [--namespace-id=<nsid> | -n <nsid>]
|
||||
[--csi=<command_set_identifier> | -y <command_set_identifier>]
|
||||
[--all | -a]</pre>
|
||||
<div class="attribution">
|
||||
</div></div>
|
||||
|
@ -783,6 +785,18 @@ a valid nsid.</p></div>
|
|||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
-y <command_set_identifier>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
--csi=<command_set_identifier>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
If this value is given, retrieve the identify list structure associated
|
||||
with the speicified I/O command set.
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
-a
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
|
@ -814,7 +828,7 @@ a valid nsid.</p></div>
|
|||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2018-01-30 19:28:39 KST
|
||||
2020-05-06 10:35:44 CEST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -9,6 +9,7 @@ SYNOPSIS
|
|||
--------
|
||||
[verse]
|
||||
'nvme list-ns' <device> [--namespace-id=<nsid> | -n <nsid>]
|
||||
[--csi=<command_set_identifier> | -y <command_set_identifier>]
|
||||
[--all | -a]
|
||||
|
||||
DESCRIPTION
|
||||
|
@ -30,6 +31,11 @@ OPTIONS
|
|||
--namespace-id=<nsid>::
|
||||
Retrieve the identify list structure starting with the given nsid.
|
||||
|
||||
-y <command_set_identifier>::
|
||||
--csi=<command_set_identifier>::
|
||||
If this value is given, retrieve the identify list structure associated
|
||||
with the speicified I/O command set.
|
||||
|
||||
-a::
|
||||
--all::
|
||||
Retrieve the identify list structure for all namespaces in the
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-list-subsys
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-LIST\-SUBSYS" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-LIST\-SUBSYS" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-list
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-LIST" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-LIST" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-lnvm-create
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-LNVM\-CREATE" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-LNVM\-CREATE" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-lnvm-diag-bbtbl
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-LNVM\-DIAG\-BB" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-LNVM\-DIAG\-BB" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-lnvm-diag-set-bbtbl
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-LNVM\-DIAG\-SE" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-LNVM\-DIAG\-SE" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-lnvm-factory
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-LNVM\-FACTORY" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-LNVM\-FACTORY" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-lnvm-id-ns
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-LNVM\-ID\-NS" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-LNVM\-ID\-NS" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-lnvm-info
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-LNVM\-INFO" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-LNVM\-INFO" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-lnvm-init
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-LNVM\-INIT" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-LNVM\-INIT" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-lnvm-list
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-LNVM\-LIST" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-LNVM\-LIST" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
.\" Title: nvme-lnvm-remove
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 04/24/2020
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-LNVM\-REMOVE" "1" "04/24/2020" "NVMe" "NVMe Manual"
|
||||
.TH "NVME\-LNVM\-REMOVE" "1" "10/20/2020" "NVMe" "NVMe Manual"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * Define some portability stuff
|
||||
.\" -----------------------------------------------------------------
|
||||
|
|
71
Documentation/nvme-micron-clear-pcie-errors.1
Normal file
71
Documentation/nvme-micron-clear-pcie-errors.1
Normal file
|
@ -0,0 +1,71 @@
|
|||
'\" t
|
||||
.\" Title: nvme-micron-clear-pcie-errors
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-MICRON\-CLEAR\" "1" "10/20/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-micron-clear-pcie-errors \- Clears correctable PCIe correctable errors of given Micron device
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
.nf
|
||||
\fInvme micron clear\-pcie\-correctable\-errors\fR <device>
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
This command clears corretable pcie errors for the specified Micron device\&.
|
||||
.sp
|
||||
The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&.
|
||||
.sp
|
||||
This will only work on Micron devices devices of model numbers 54XX\&. Support for new devices may be added subsequently\&.
|
||||
.SH "OPTIONS"
|
||||
.sp
|
||||
None
|
||||
.SH "EXAMPLES"
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
Retrieve NAND statistics information
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
# nvme micron clear\-pcie\-correctable\-errors /dev/nvme0
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.RE
|
||||
.SH "NVME"
|
||||
.sp
|
||||
Part of the nvme\-user suite
|
803
Documentation/nvme-micron-clear-pcie-errors.html
Normal file
803
Documentation/nvme-micron-clear-pcie-errors.html
Normal file
|
@ -0,0 +1,803 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<title>nvme-micron-clear-pcie-errors(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
||||
/* Default font. */
|
||||
body {
|
||||
font-family: Georgia,serif;
|
||||
}
|
||||
|
||||
/* Title font. */
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
div.title, caption.title,
|
||||
thead, p.table.header,
|
||||
#toctitle,
|
||||
#author, #revnumber, #revdate, #revremark,
|
||||
#footer {
|
||||
font-family: Arial,Helvetica,sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 1em 5% 1em 5%;
|
||||
}
|
||||
|
||||
a {
|
||||
color: blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:visited {
|
||||
color: fuchsia;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
color: navy;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
color: #083194;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #527bbd;
|
||||
margin-top: 1.2em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
h2 {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
h3 {
|
||||
float: left;
|
||||
}
|
||||
h3 + * {
|
||||
clear: left;
|
||||
}
|
||||
h5 {
|
||||
font-size: 1.0em;
|
||||
}
|
||||
|
||||
div.sectionbody {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid silver;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
ul, ol, li > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
ul > li { color: #aaa; }
|
||||
ul > li > * { color: black; }
|
||||
|
||||
.monospaced, code, pre {
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
font-size: inherit;
|
||||
color: navy;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#author {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
#email {
|
||||
}
|
||||
#revnumber, #revdate, #revremark {
|
||||
}
|
||||
|
||||
#footer {
|
||||
font-size: small;
|
||||
border-top: 2px solid silver;
|
||||
padding-top: 0.5em;
|
||||
margin-top: 4.0em;
|
||||
}
|
||||
#footer-text {
|
||||
float: left;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#footer-badges {
|
||||
float: right;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
#preamble {
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.imageblock, div.exampleblock, div.verseblock,
|
||||
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||
div.admonitionblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.admonitionblock {
|
||||
margin-top: 2.0em;
|
||||
margin-bottom: 2.0em;
|
||||
margin-right: 10%;
|
||||
color: #606060;
|
||||
}
|
||||
|
||||
div.content { /* Block element content. */
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Block element titles. */
|
||||
div.title, caption.title {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
div.title + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
td div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content + div.title {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
|
||||
div.sidebarblock > div.content {
|
||||
background: #ffffee;
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 4px solid #f0f0f0;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.listingblock > div.content {
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
background: #f8f8f8;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.quoteblock, div.verseblock {
|
||||
padding-left: 1.0em;
|
||||
margin-left: 1.0em;
|
||||
margin-right: 10%;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
div.quoteblock > div.attribution {
|
||||
padding-top: 0.5em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.verseblock > pre.content {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
div.verseblock > div.attribution {
|
||||
padding-top: 0.75em;
|
||||
text-align: left;
|
||||
}
|
||||
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||
div.verseblock + div.attribution {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.admonitionblock .icon {
|
||||
vertical-align: top;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
color: #527bbd;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
div.admonitionblock td.content {
|
||||
padding-left: 0.5em;
|
||||
border-left: 3px solid #dddddd;
|
||||
}
|
||||
|
||||
div.exampleblock > div.content {
|
||||
border-left: 3px solid #dddddd;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
div.imageblock div.content { padding-left: 0; }
|
||||
span.image img { border-style: none; vertical-align: text-bottom; }
|
||||
a.image:visited { color: white; }
|
||||
|
||||
dl {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
dt {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0;
|
||||
font-style: normal;
|
||||
color: navy;
|
||||
}
|
||||
dd > *:first-child {
|
||||
margin-top: 0.1em;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
list-style-position: outside;
|
||||
}
|
||||
ol.arabic {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
ol.loweralpha {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
ol.upperalpha {
|
||||
list-style-type: upper-alpha;
|
||||
}
|
||||
ol.lowerroman {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
ol.upperroman {
|
||||
list-style-type: upper-roman;
|
||||
}
|
||||
|
||||
div.compact ul, div.compact ol,
|
||||
div.compact p, div.compact p,
|
||||
div.compact div, div.compact div {
|
||||
margin-top: 0.1em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
tfoot {
|
||||
font-weight: bold;
|
||||
}
|
||||
td > div.verse {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
div.hdlist {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
div.hdlist tr {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
dt.hdlist1.strong, td.hdlist1.strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
td.hdlist1 {
|
||||
vertical-align: top;
|
||||
font-style: normal;
|
||||
padding-right: 0.8em;
|
||||
color: navy;
|
||||
}
|
||||
td.hdlist2 {
|
||||
vertical-align: top;
|
||||
}
|
||||
div.hdlist.compact tr {
|
||||
margin: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.comment {
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
.footnote, .footnoteref {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
span.footnote, span.footnoteref {
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
#footnotes {
|
||||
margin: 20px 0 20px 0;
|
||||
padding: 7px 0 0 0;
|
||||
}
|
||||
|
||||
#footnotes div.footnote {
|
||||
margin: 0 0 5px 0;
|
||||
}
|
||||
|
||||
#footnotes hr {
|
||||
border: none;
|
||||
border-top: 1px solid silver;
|
||||
height: 1px;
|
||||
text-align: left;
|
||||
margin-left: 0;
|
||||
width: 20%;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
div.colist td {
|
||||
padding-right: 0.5em;
|
||||
padding-bottom: 0.3em;
|
||||
vertical-align: top;
|
||||
}
|
||||
div.colist td img {
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
#footer-badges { display: none; }
|
||||
}
|
||||
|
||||
#toc {
|
||||
margin-bottom: 2.5em;
|
||||
}
|
||||
|
||||
#toctitle {
|
||||
color: #527bbd;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
div.toclevel2 {
|
||||
margin-left: 2em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel3 {
|
||||
margin-left: 4em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel4 {
|
||||
margin-left: 6em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
span.aqua { color: aqua; }
|
||||
span.black { color: black; }
|
||||
span.blue { color: blue; }
|
||||
span.fuchsia { color: fuchsia; }
|
||||
span.gray { color: gray; }
|
||||
span.green { color: green; }
|
||||
span.lime { color: lime; }
|
||||
span.maroon { color: maroon; }
|
||||
span.navy { color: navy; }
|
||||
span.olive { color: olive; }
|
||||
span.purple { color: purple; }
|
||||
span.red { color: red; }
|
||||
span.silver { color: silver; }
|
||||
span.teal { color: teal; }
|
||||
span.white { color: white; }
|
||||
span.yellow { color: yellow; }
|
||||
|
||||
span.aqua-background { background: aqua; }
|
||||
span.black-background { background: black; }
|
||||
span.blue-background { background: blue; }
|
||||
span.fuchsia-background { background: fuchsia; }
|
||||
span.gray-background { background: gray; }
|
||||
span.green-background { background: green; }
|
||||
span.lime-background { background: lime; }
|
||||
span.maroon-background { background: maroon; }
|
||||
span.navy-background { background: navy; }
|
||||
span.olive-background { background: olive; }
|
||||
span.purple-background { background: purple; }
|
||||
span.red-background { background: red; }
|
||||
span.silver-background { background: silver; }
|
||||
span.teal-background { background: teal; }
|
||||
span.white-background { background: white; }
|
||||
span.yellow-background { background: yellow; }
|
||||
|
||||
span.big { font-size: 2em; }
|
||||
span.small { font-size: 0.6em; }
|
||||
|
||||
span.underline { text-decoration: underline; }
|
||||
span.overline { text-decoration: overline; }
|
||||
span.line-through { text-decoration: line-through; }
|
||||
|
||||
div.unbreakable { page-break-inside: avoid; }
|
||||
|
||||
|
||||
/*
|
||||
* xhtml11 specific
|
||||
*
|
||||
* */
|
||||
|
||||
div.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.tableblock > table {
|
||||
border: 3px solid #527bbd;
|
||||
}
|
||||
thead, p.table.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.table {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||
div.tableblock > table[frame="void"] {
|
||||
border-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="hsides"] {
|
||||
border-left-style: none;
|
||||
border-right-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="vsides"] {
|
||||
border-top-style: none;
|
||||
border-bottom-style: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html5 specific
|
||||
*
|
||||
* */
|
||||
|
||||
table.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
thead, p.tableblock.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.tableblock {
|
||||
margin-top: 0;
|
||||
}
|
||||
table.tableblock {
|
||||
border-width: 3px;
|
||||
border-spacing: 0px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
th.tableblock, td.tableblock {
|
||||
border-width: 1px;
|
||||
padding: 4px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
}
|
||||
|
||||
table.tableblock.frame-topbot {
|
||||
border-left-style: hidden;
|
||||
border-right-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-sides {
|
||||
border-top-style: hidden;
|
||||
border-bottom-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-none {
|
||||
border-style: hidden;
|
||||
}
|
||||
|
||||
th.tableblock.halign-left, td.tableblock.halign-left {
|
||||
text-align: left;
|
||||
}
|
||||
th.tableblock.halign-center, td.tableblock.halign-center {
|
||||
text-align: center;
|
||||
}
|
||||
th.tableblock.halign-right, td.tableblock.halign-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
th.tableblock.valign-top, td.tableblock.valign-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* manpage specific
|
||||
*
|
||||
* */
|
||||
|
||||
body.manpage h1 {
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
border-top: 2px solid silver;
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
body.manpage h2 {
|
||||
border-style: none;
|
||||
}
|
||||
body.manpage div.sectionbody {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body.manpage div#toc { display: none; }
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
/*<+'])');
|
||||
// Function that scans the DOM tree for header elements (the DOM2
|
||||
// nodeIterator API would be a better technique but not supported by all
|
||||
// browsers).
|
||||
var iterate = function (el) {
|
||||
for (var i = el.firstChild; i != null; i = i.nextSibling) {
|
||||
if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
|
||||
var mo = re.exec(i.tagName);
|
||||
if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
|
||||
result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
|
||||
}
|
||||
iterate(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
iterate(el);
|
||||
return result;
|
||||
}
|
||||
|
||||
var toc = document.getElementById("toc");
|
||||
if (!toc) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Delete existing TOC entries in case we're reloading the TOC.
|
||||
var tocEntriesToRemove = [];
|
||||
var i;
|
||||
for (i = 0; i < toc.childNodes.length; i++) {
|
||||
var entry = toc.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div'
|
||||
&& entry.getAttribute("class")
|
||||
&& entry.getAttribute("class").match(/^toclevel/))
|
||||
tocEntriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < tocEntriesToRemove.length; i++) {
|
||||
toc.removeChild(tocEntriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild TOC entries.
|
||||
var entries = tocEntries(document.getElementById("content"), toclevels);
|
||||
for (var i = 0; i < entries.length; ++i) {
|
||||
var entry = entries[i];
|
||||
if (entry.element.id == "")
|
||||
entry.element.id = "_toc_" + i;
|
||||
var a = document.createElement("a");
|
||||
a.href = "#" + entry.element.id;
|
||||
a.appendChild(document.createTextNode(entry.text));
|
||||
var div = document.createElement("div");
|
||||
div.appendChild(a);
|
||||
div.className = "toclevel" + entry.toclevel;
|
||||
toc.appendChild(div);
|
||||
}
|
||||
if (entries.length == 0)
|
||||
toc.parentNode.removeChild(toc);
|
||||
},
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// Footnotes generator
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
/* Based on footnote generation code from:
|
||||
* http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
|
||||
*/
|
||||
|
||||
footnotes: function () {
|
||||
// Delete existing footnote entries in case we're reloading the footnodes.
|
||||
var i;
|
||||
var noteholder = document.getElementById("footnotes");
|
||||
if (!noteholder) {
|
||||
return;
|
||||
}
|
||||
var entriesToRemove = [];
|
||||
for (i = 0; i < noteholder.childNodes.length; i++) {
|
||||
var entry = noteholder.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
|
||||
entriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < entriesToRemove.length; i++) {
|
||||
noteholder.removeChild(entriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild footnote entries.
|
||||
var cont = document.getElementById("content");
|
||||
var spans = cont.getElementsByTagName("span");
|
||||
var refs = {};
|
||||
var n = 0;
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnote") {
|
||||
n++;
|
||||
var note = spans[i].getAttribute("data-note");
|
||||
if (!note) {
|
||||
// Use [\s\S] in place of . so multi-line matches work.
|
||||
// Because JavaScript has no s (dotall) regex flag.
|
||||
note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
|
||||
spans[i].innerHTML =
|
||||
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
spans[i].setAttribute("data-note", note);
|
||||
}
|
||||
noteholder.innerHTML +=
|
||||
"<div class='footnote' id='_footnote_" + n + "'>" +
|
||||
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
|
||||
n + "</a>. " + note + "</div>";
|
||||
var id =spans[i].getAttribute("id");
|
||||
if (id != null) refs["#"+id] = n;
|
||||
}
|
||||
}
|
||||
if (n == 0)
|
||||
noteholder.parentNode.removeChild(noteholder);
|
||||
else {
|
||||
// Process footnoterefs.
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnoteref") {
|
||||
var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
|
||||
href = href.match(/#.*/)[0]; // Because IE return full URL.
|
||||
n = refs[href];
|
||||
spans[i].innerHTML =
|
||||
"[<a href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
install: function(toclevels) {
|
||||
var timerId;
|
||||
|
||||
function reinstall() {
|
||||
asciidoc.footnotes();
|
||||
if (toclevels) {
|
||||
asciidoc.toc(toclevels);
|
||||
}
|
||||
}
|
||||
|
||||
function reinstallAndRemoveTimer() {
|
||||
clearInterval(timerId);
|
||||
reinstall();
|
||||
}
|
||||
|
||||
timerId = setInterval(reinstall, 500);
|
||||
if (document.addEventListener)
|
||||
document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
|
||||
else
|
||||
window.onload = reinstallAndRemoveTimer;
|
||||
}
|
||||
|
||||
}
|
||||
asciidoc.install();
|
||||
/*]]>*/
|
||||
</script>
|
||||
</head>
|
||||
<body class="article">
|
||||
<div id="header">
|
||||
<h1>nvme-micron-clear-pcie-errors(1)</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div class="sect1">
|
||||
<h2 id="_name">NAME</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>nvme-micron-clear-pcie-errors - Clears correctable PCIe correctable errors of given Micron device</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_synopsis">SYNOPSIS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="verseblock">
|
||||
<pre class="content"><em>nvme micron clear-pcie-correctable-errors</em> <device></pre>
|
||||
<div class="attribution">
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_description">DESCRIPTION</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>This command clears corretable pcie errors for the specified Micron device.</p></div>
|
||||
<div class="paragraph"><p>The <device> parameter is mandatory and may be either the NVMe
|
||||
character device (ex: /dev/nvme0), or a namespace block device (ex:
|
||||
/dev/nvme0n1).</p></div>
|
||||
<div class="paragraph"><p>This will only work on Micron devices devices of model numbers 54XX. Support for new
|
||||
devices may be added subsequently.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_options">OPTIONS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>None</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_examples">EXAMPLES</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="ulist"><ul>
|
||||
<li>
|
||||
<p>
|
||||
Retrieve NAND statistics information
|
||||
</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre><code># nvme micron clear-pcie-correctable-errors /dev/nvme0</code></pre>
|
||||
</div></div>
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_nvme">NVME</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>Part of the nvme-user suite</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footnotes"><hr /></div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2019-12-19 21:48:50 DST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
39
Documentation/nvme-micron-clear-pcie-errors.txt
Normal file
39
Documentation/nvme-micron-clear-pcie-errors.txt
Normal file
|
@ -0,0 +1,39 @@
|
|||
nvme-micron-clear-pcie-errors(1)
|
||||
===============================
|
||||
|
||||
NAME
|
||||
----
|
||||
nvme-micron-clear-pcie-errors - Clears correctable PCIe correctable errors of given Micron device
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'nvme micron clear-pcie-correctable-errors' <device>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This command clears corretable pcie errors for the specified Micron device.
|
||||
|
||||
The <device> parameter is mandatory and may be either the NVMe
|
||||
character device (ex: /dev/nvme0), or a namespace block device (ex:
|
||||
/dev/nvme0n1).
|
||||
|
||||
This will only work on Micron devices devices of model numbers 54XX. Support for new
|
||||
devices may be added subsequently.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
None
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
* Retrieve NAND statistics information
|
||||
+
|
||||
------------
|
||||
# nvme micron clear-pcie-correctable-errors /dev/nvme0
|
||||
|
||||
------------
|
||||
|
||||
NVME
|
||||
----
|
||||
Part of the nvme-user suite
|
74
Documentation/nvme-micron-internal-log.1
Normal file
74
Documentation/nvme-micron-internal-log.1
Normal file
|
@ -0,0 +1,74 @@
|
|||
'\" t
|
||||
.\" Title: nvme-micron-internal-log
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-MICRON\-INTERN" "1" "10/20/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-micron-internal-log \- Retrieve Micron device\*(Aqs internal logs and save to given zip file\&.
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
.nf
|
||||
\fInvme micron vs\-internal\-log\fR <device> [\-\-package=<FILE>, \-p <FILE>]
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
For the given NVMe device, sends the Micron vendor specific device commands to retrieve various logs (in binary format) and compresses them and saves into speficied zip file\&. These vendor unique logs can be analysed with Micron Technical support team for any device specific issues
|
||||
.sp
|
||||
The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&.
|
||||
.sp
|
||||
This will only work on Micron devices devices of model numbers 9200 and 54XX\&. Support for new devices may be added subsequently\&. Results for any other device are undefined\&.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\-l <FILE>, \-\-package=<FILE>
|
||||
.RS 4
|
||||
name of the file (with \&.zip extension) to save the device logs
|
||||
.RE
|
||||
.SH "EXAMPLES"
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
Gets the logs from the device and saves to micron_logs\&.zip file
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
# nvme micron vs\-internal\-log /dev/nvme0 \-\-package=micron_logs\&.zip
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.RE
|
||||
.SH "NVME"
|
||||
.sp
|
||||
Part of the nvme\-user suite
|
818
Documentation/nvme-micron-internal-log.html
Normal file
818
Documentation/nvme-micron-internal-log.html
Normal file
|
@ -0,0 +1,818 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<title>nvme-micron-internal-log(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
||||
/* Default font. */
|
||||
body {
|
||||
font-family: Georgia,serif;
|
||||
}
|
||||
|
||||
/* Title font. */
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
div.title, caption.title,
|
||||
thead, p.table.header,
|
||||
#toctitle,
|
||||
#author, #revnumber, #revdate, #revremark,
|
||||
#footer {
|
||||
font-family: Arial,Helvetica,sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 1em 5% 1em 5%;
|
||||
}
|
||||
|
||||
a {
|
||||
color: blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:visited {
|
||||
color: fuchsia;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
color: navy;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
color: #083194;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #527bbd;
|
||||
margin-top: 1.2em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
h2 {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
h3 {
|
||||
float: left;
|
||||
}
|
||||
h3 + * {
|
||||
clear: left;
|
||||
}
|
||||
h5 {
|
||||
font-size: 1.0em;
|
||||
}
|
||||
|
||||
div.sectionbody {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid silver;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
ul, ol, li > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
ul > li { color: #aaa; }
|
||||
ul > li > * { color: black; }
|
||||
|
||||
.monospaced, code, pre {
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
font-size: inherit;
|
||||
color: navy;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#author {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
#email {
|
||||
}
|
||||
#revnumber, #revdate, #revremark {
|
||||
}
|
||||
|
||||
#footer {
|
||||
font-size: small;
|
||||
border-top: 2px solid silver;
|
||||
padding-top: 0.5em;
|
||||
margin-top: 4.0em;
|
||||
}
|
||||
#footer-text {
|
||||
float: left;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#footer-badges {
|
||||
float: right;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
#preamble {
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.imageblock, div.exampleblock, div.verseblock,
|
||||
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||
div.admonitionblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.admonitionblock {
|
||||
margin-top: 2.0em;
|
||||
margin-bottom: 2.0em;
|
||||
margin-right: 10%;
|
||||
color: #606060;
|
||||
}
|
||||
|
||||
div.content { /* Block element content. */
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Block element titles. */
|
||||
div.title, caption.title {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
div.title + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
td div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content + div.title {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
|
||||
div.sidebarblock > div.content {
|
||||
background: #ffffee;
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 4px solid #f0f0f0;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.listingblock > div.content {
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
background: #f8f8f8;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.quoteblock, div.verseblock {
|
||||
padding-left: 1.0em;
|
||||
margin-left: 1.0em;
|
||||
margin-right: 10%;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
div.quoteblock > div.attribution {
|
||||
padding-top: 0.5em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.verseblock > pre.content {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
div.verseblock > div.attribution {
|
||||
padding-top: 0.75em;
|
||||
text-align: left;
|
||||
}
|
||||
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||
div.verseblock + div.attribution {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.admonitionblock .icon {
|
||||
vertical-align: top;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
color: #527bbd;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
div.admonitionblock td.content {
|
||||
padding-left: 0.5em;
|
||||
border-left: 3px solid #dddddd;
|
||||
}
|
||||
|
||||
div.exampleblock > div.content {
|
||||
border-left: 3px solid #dddddd;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
div.imageblock div.content { padding-left: 0; }
|
||||
span.image img { border-style: none; vertical-align: text-bottom; }
|
||||
a.image:visited { color: white; }
|
||||
|
||||
dl {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
dt {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0;
|
||||
font-style: normal;
|
||||
color: navy;
|
||||
}
|
||||
dd > *:first-child {
|
||||
margin-top: 0.1em;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
list-style-position: outside;
|
||||
}
|
||||
ol.arabic {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
ol.loweralpha {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
ol.upperalpha {
|
||||
list-style-type: upper-alpha;
|
||||
}
|
||||
ol.lowerroman {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
ol.upperroman {
|
||||
list-style-type: upper-roman;
|
||||
}
|
||||
|
||||
div.compact ul, div.compact ol,
|
||||
div.compact p, div.compact p,
|
||||
div.compact div, div.compact div {
|
||||
margin-top: 0.1em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
tfoot {
|
||||
font-weight: bold;
|
||||
}
|
||||
td > div.verse {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
div.hdlist {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
div.hdlist tr {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
dt.hdlist1.strong, td.hdlist1.strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
td.hdlist1 {
|
||||
vertical-align: top;
|
||||
font-style: normal;
|
||||
padding-right: 0.8em;
|
||||
color: navy;
|
||||
}
|
||||
td.hdlist2 {
|
||||
vertical-align: top;
|
||||
}
|
||||
div.hdlist.compact tr {
|
||||
margin: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.comment {
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
.footnote, .footnoteref {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
span.footnote, span.footnoteref {
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
#footnotes {
|
||||
margin: 20px 0 20px 0;
|
||||
padding: 7px 0 0 0;
|
||||
}
|
||||
|
||||
#footnotes div.footnote {
|
||||
margin: 0 0 5px 0;
|
||||
}
|
||||
|
||||
#footnotes hr {
|
||||
border: none;
|
||||
border-top: 1px solid silver;
|
||||
height: 1px;
|
||||
text-align: left;
|
||||
margin-left: 0;
|
||||
width: 20%;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
div.colist td {
|
||||
padding-right: 0.5em;
|
||||
padding-bottom: 0.3em;
|
||||
vertical-align: top;
|
||||
}
|
||||
div.colist td img {
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
#footer-badges { display: none; }
|
||||
}
|
||||
|
||||
#toc {
|
||||
margin-bottom: 2.5em;
|
||||
}
|
||||
|
||||
#toctitle {
|
||||
color: #527bbd;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
div.toclevel2 {
|
||||
margin-left: 2em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel3 {
|
||||
margin-left: 4em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel4 {
|
||||
margin-left: 6em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
span.aqua { color: aqua; }
|
||||
span.black { color: black; }
|
||||
span.blue { color: blue; }
|
||||
span.fuchsia { color: fuchsia; }
|
||||
span.gray { color: gray; }
|
||||
span.green { color: green; }
|
||||
span.lime { color: lime; }
|
||||
span.maroon { color: maroon; }
|
||||
span.navy { color: navy; }
|
||||
span.olive { color: olive; }
|
||||
span.purple { color: purple; }
|
||||
span.red { color: red; }
|
||||
span.silver { color: silver; }
|
||||
span.teal { color: teal; }
|
||||
span.white { color: white; }
|
||||
span.yellow { color: yellow; }
|
||||
|
||||
span.aqua-background { background: aqua; }
|
||||
span.black-background { background: black; }
|
||||
span.blue-background { background: blue; }
|
||||
span.fuchsia-background { background: fuchsia; }
|
||||
span.gray-background { background: gray; }
|
||||
span.green-background { background: green; }
|
||||
span.lime-background { background: lime; }
|
||||
span.maroon-background { background: maroon; }
|
||||
span.navy-background { background: navy; }
|
||||
span.olive-background { background: olive; }
|
||||
span.purple-background { background: purple; }
|
||||
span.red-background { background: red; }
|
||||
span.silver-background { background: silver; }
|
||||
span.teal-background { background: teal; }
|
||||
span.white-background { background: white; }
|
||||
span.yellow-background { background: yellow; }
|
||||
|
||||
span.big { font-size: 2em; }
|
||||
span.small { font-size: 0.6em; }
|
||||
|
||||
span.underline { text-decoration: underline; }
|
||||
span.overline { text-decoration: overline; }
|
||||
span.line-through { text-decoration: line-through; }
|
||||
|
||||
div.unbreakable { page-break-inside: avoid; }
|
||||
|
||||
|
||||
/*
|
||||
* xhtml11 specific
|
||||
*
|
||||
* */
|
||||
|
||||
div.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.tableblock > table {
|
||||
border: 3px solid #527bbd;
|
||||
}
|
||||
thead, p.table.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.table {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||
div.tableblock > table[frame="void"] {
|
||||
border-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="hsides"] {
|
||||
border-left-style: none;
|
||||
border-right-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="vsides"] {
|
||||
border-top-style: none;
|
||||
border-bottom-style: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html5 specific
|
||||
*
|
||||
* */
|
||||
|
||||
table.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
thead, p.tableblock.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.tableblock {
|
||||
margin-top: 0;
|
||||
}
|
||||
table.tableblock {
|
||||
border-width: 3px;
|
||||
border-spacing: 0px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
th.tableblock, td.tableblock {
|
||||
border-width: 1px;
|
||||
padding: 4px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
}
|
||||
|
||||
table.tableblock.frame-topbot {
|
||||
border-left-style: hidden;
|
||||
border-right-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-sides {
|
||||
border-top-style: hidden;
|
||||
border-bottom-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-none {
|
||||
border-style: hidden;
|
||||
}
|
||||
|
||||
th.tableblock.halign-left, td.tableblock.halign-left {
|
||||
text-align: left;
|
||||
}
|
||||
th.tableblock.halign-center, td.tableblock.halign-center {
|
||||
text-align: center;
|
||||
}
|
||||
th.tableblock.halign-right, td.tableblock.halign-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
th.tableblock.valign-top, td.tableblock.valign-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* manpage specific
|
||||
*
|
||||
* */
|
||||
|
||||
body.manpage h1 {
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
border-top: 2px solid silver;
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
body.manpage h2 {
|
||||
border-style: none;
|
||||
}
|
||||
body.manpage div.sectionbody {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body.manpage div#toc { display: none; }
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
/*<+'])');
|
||||
// Function that scans the DOM tree for header elements (the DOM2
|
||||
// nodeIterator API would be a better technique but not supported by all
|
||||
// browsers).
|
||||
var iterate = function (el) {
|
||||
for (var i = el.firstChild; i != null; i = i.nextSibling) {
|
||||
if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
|
||||
var mo = re.exec(i.tagName);
|
||||
if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
|
||||
result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
|
||||
}
|
||||
iterate(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
iterate(el);
|
||||
return result;
|
||||
}
|
||||
|
||||
var toc = document.getElementById("toc");
|
||||
if (!toc) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Delete existing TOC entries in case we're reloading the TOC.
|
||||
var tocEntriesToRemove = [];
|
||||
var i;
|
||||
for (i = 0; i < toc.childNodes.length; i++) {
|
||||
var entry = toc.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div'
|
||||
&& entry.getAttribute("class")
|
||||
&& entry.getAttribute("class").match(/^toclevel/))
|
||||
tocEntriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < tocEntriesToRemove.length; i++) {
|
||||
toc.removeChild(tocEntriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild TOC entries.
|
||||
var entries = tocEntries(document.getElementById("content"), toclevels);
|
||||
for (var i = 0; i < entries.length; ++i) {
|
||||
var entry = entries[i];
|
||||
if (entry.element.id == "")
|
||||
entry.element.id = "_toc_" + i;
|
||||
var a = document.createElement("a");
|
||||
a.href = "#" + entry.element.id;
|
||||
a.appendChild(document.createTextNode(entry.text));
|
||||
var div = document.createElement("div");
|
||||
div.appendChild(a);
|
||||
div.className = "toclevel" + entry.toclevel;
|
||||
toc.appendChild(div);
|
||||
}
|
||||
if (entries.length == 0)
|
||||
toc.parentNode.removeChild(toc);
|
||||
},
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// Footnotes generator
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
/* Based on footnote generation code from:
|
||||
* http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
|
||||
*/
|
||||
|
||||
footnotes: function () {
|
||||
// Delete existing footnote entries in case we're reloading the footnodes.
|
||||
var i;
|
||||
var noteholder = document.getElementById("footnotes");
|
||||
if (!noteholder) {
|
||||
return;
|
||||
}
|
||||
var entriesToRemove = [];
|
||||
for (i = 0; i < noteholder.childNodes.length; i++) {
|
||||
var entry = noteholder.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
|
||||
entriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < entriesToRemove.length; i++) {
|
||||
noteholder.removeChild(entriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild footnote entries.
|
||||
var cont = document.getElementById("content");
|
||||
var spans = cont.getElementsByTagName("span");
|
||||
var refs = {};
|
||||
var n = 0;
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnote") {
|
||||
n++;
|
||||
var note = spans[i].getAttribute("data-note");
|
||||
if (!note) {
|
||||
// Use [\s\S] in place of . so multi-line matches work.
|
||||
// Because JavaScript has no s (dotall) regex flag.
|
||||
note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
|
||||
spans[i].innerHTML =
|
||||
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
spans[i].setAttribute("data-note", note);
|
||||
}
|
||||
noteholder.innerHTML +=
|
||||
"<div class='footnote' id='_footnote_" + n + "'>" +
|
||||
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
|
||||
n + "</a>. " + note + "</div>";
|
||||
var id =spans[i].getAttribute("id");
|
||||
if (id != null) refs["#"+id] = n;
|
||||
}
|
||||
}
|
||||
if (n == 0)
|
||||
noteholder.parentNode.removeChild(noteholder);
|
||||
else {
|
||||
// Process footnoterefs.
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnoteref") {
|
||||
var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
|
||||
href = href.match(/#.*/)[0]; // Because IE return full URL.
|
||||
n = refs[href];
|
||||
spans[i].innerHTML =
|
||||
"[<a href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
install: function(toclevels) {
|
||||
var timerId;
|
||||
|
||||
function reinstall() {
|
||||
asciidoc.footnotes();
|
||||
if (toclevels) {
|
||||
asciidoc.toc(toclevels);
|
||||
}
|
||||
}
|
||||
|
||||
function reinstallAndRemoveTimer() {
|
||||
clearInterval(timerId);
|
||||
reinstall();
|
||||
}
|
||||
|
||||
timerId = setInterval(reinstall, 500);
|
||||
if (document.addEventListener)
|
||||
document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
|
||||
else
|
||||
window.onload = reinstallAndRemoveTimer;
|
||||
}
|
||||
|
||||
}
|
||||
asciidoc.install();
|
||||
/*]]>*/
|
||||
</script>
|
||||
</head>
|
||||
<body class="article">
|
||||
<div id="header">
|
||||
<h1>nvme-micron-internal-log(1)</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div class="sect1">
|
||||
<h2 id="_name">NAME</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>nvme-micron-internal-log - Retrieve Micron device’s internal logs and save to given zip file.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_synopsis">SYNOPSIS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="verseblock">
|
||||
<pre class="content"><em>nvme micron vs-internal-log</em> <device> [--package=<FILE>, -p <FILE>]</pre>
|
||||
<div class="attribution">
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_description">DESCRIPTION</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>For the given NVMe device, sends the Micron vendor specific device commands to retrieve
|
||||
various logs (in binary format) and compresses them and saves into speficied zip file.
|
||||
These vendor unique logs can be analysed with Micron Technical support team for any device
|
||||
specific issues</p></div>
|
||||
<div class="paragraph"><p>The <device> parameter is mandatory and may be either the NVMe
|
||||
character device (ex: /dev/nvme0), or a namespace block device (ex:
|
||||
/dev/nvme0n1).</p></div>
|
||||
<div class="paragraph"><p>This will only work on Micron devices devices of model numbers 9200 and 54XX. Support
|
||||
for new devices may be added subsequently. Results for any other device are undefined.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_options">OPTIONS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="dlist"><dl>
|
||||
<dt class="hdlist1">
|
||||
-l <FILE>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
--package=<FILE>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
name of the file (with .zip extension) to save the device logs
|
||||
</p>
|
||||
</dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_examples">EXAMPLES</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="ulist"><ul>
|
||||
<li>
|
||||
<p>
|
||||
Gets the logs from the device and saves to micron_logs.zip file
|
||||
</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre><code># nvme micron vs-internal-log /dev/nvme0 --package=micron_logs.zip</code></pre>
|
||||
</div></div>
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_nvme">NVME</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>Part of the nvme-user suite</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footnotes"><hr /></div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2019-12-19 22:14:44 DST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
43
Documentation/nvme-micron-internal-log.txt
Normal file
43
Documentation/nvme-micron-internal-log.txt
Normal file
|
@ -0,0 +1,43 @@
|
|||
nvme-micron-internal-log(1)
|
||||
==========================
|
||||
|
||||
NAME
|
||||
----
|
||||
nvme-micron-internal-log - Retrieve Micron device's internal logs and save to given zip file.
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'nvme micron vs-internal-log' <device> [--package=<FILE>, -p <FILE>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
For the given NVMe device, sends the Micron vendor specific device commands to retrieve
|
||||
various logs (in binary format) and compresses them and saves into speficied zip file.
|
||||
These vendor unique logs can be analysed with Micron Technical support team for any device
|
||||
specific issues
|
||||
|
||||
The <device> parameter is mandatory and may be either the NVMe
|
||||
character device (ex: /dev/nvme0), or a namespace block device (ex:
|
||||
/dev/nvme0n1).
|
||||
|
||||
This will only work on Micron devices devices of model numbers 9200 and 54XX. Support
|
||||
for new devices may be added subsequently. Results for any other device are undefined.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-l <FILE>::
|
||||
--package=<FILE>::
|
||||
name of the file (with .zip extension) to save the device logs
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
* Gets the logs from the device and saves to micron_logs.zip file
|
||||
+
|
||||
------------
|
||||
# nvme micron vs-internal-log /dev/nvme0 --package=micron_logs.zip
|
||||
|
||||
------------
|
||||
NVME
|
||||
----
|
||||
Part of the nvme-user suite
|
71
Documentation/nvme-micron-nand-stats.1
Normal file
71
Documentation/nvme-micron-nand-stats.1
Normal file
|
@ -0,0 +1,71 @@
|
|||
'\" t
|
||||
.\" Title: nvme-micron-nand-stats
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-MICRON\-NAND\-" "1" "10/20/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-micron-nand-stats \- Retrieves NAND statistics of given micron device
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
.nf
|
||||
\fInvme micron vs\-nand\-stats\fR <device>
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
This command prints NAND information (Total bytes written, Bad block count and Erase failures etc) for the given micron device\&.
|
||||
.sp
|
||||
The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&.
|
||||
.sp
|
||||
This will only work on Micron devices devices of model numbers 54XX\&. Support for new devices may be added subsequently\&.
|
||||
.SH "OPTIONS"
|
||||
.sp
|
||||
None
|
||||
.SH "EXAMPLES"
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
Retrieve NAND statistics information
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
# nvme micron vs\-nand\-stats /dev/nvme0
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.RE
|
||||
.SH "NVME"
|
||||
.sp
|
||||
Part of the nvme\-user suite
|
804
Documentation/nvme-micron-nand-stats.html
Normal file
804
Documentation/nvme-micron-nand-stats.html
Normal file
|
@ -0,0 +1,804 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<title>nvme-micron-nand-stats(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
||||
/* Default font. */
|
||||
body {
|
||||
font-family: Georgia,serif;
|
||||
}
|
||||
|
||||
/* Title font. */
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
div.title, caption.title,
|
||||
thead, p.table.header,
|
||||
#toctitle,
|
||||
#author, #revnumber, #revdate, #revremark,
|
||||
#footer {
|
||||
font-family: Arial,Helvetica,sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 1em 5% 1em 5%;
|
||||
}
|
||||
|
||||
a {
|
||||
color: blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:visited {
|
||||
color: fuchsia;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
color: navy;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
color: #083194;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #527bbd;
|
||||
margin-top: 1.2em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
h2 {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
h3 {
|
||||
float: left;
|
||||
}
|
||||
h3 + * {
|
||||
clear: left;
|
||||
}
|
||||
h5 {
|
||||
font-size: 1.0em;
|
||||
}
|
||||
|
||||
div.sectionbody {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid silver;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
ul, ol, li > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
ul > li { color: #aaa; }
|
||||
ul > li > * { color: black; }
|
||||
|
||||
.monospaced, code, pre {
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
font-size: inherit;
|
||||
color: navy;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#author {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
#email {
|
||||
}
|
||||
#revnumber, #revdate, #revremark {
|
||||
}
|
||||
|
||||
#footer {
|
||||
font-size: small;
|
||||
border-top: 2px solid silver;
|
||||
padding-top: 0.5em;
|
||||
margin-top: 4.0em;
|
||||
}
|
||||
#footer-text {
|
||||
float: left;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#footer-badges {
|
||||
float: right;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
#preamble {
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.imageblock, div.exampleblock, div.verseblock,
|
||||
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||
div.admonitionblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.admonitionblock {
|
||||
margin-top: 2.0em;
|
||||
margin-bottom: 2.0em;
|
||||
margin-right: 10%;
|
||||
color: #606060;
|
||||
}
|
||||
|
||||
div.content { /* Block element content. */
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Block element titles. */
|
||||
div.title, caption.title {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
div.title + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
td div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content + div.title {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
|
||||
div.sidebarblock > div.content {
|
||||
background: #ffffee;
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 4px solid #f0f0f0;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.listingblock > div.content {
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
background: #f8f8f8;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.quoteblock, div.verseblock {
|
||||
padding-left: 1.0em;
|
||||
margin-left: 1.0em;
|
||||
margin-right: 10%;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
div.quoteblock > div.attribution {
|
||||
padding-top: 0.5em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.verseblock > pre.content {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
div.verseblock > div.attribution {
|
||||
padding-top: 0.75em;
|
||||
text-align: left;
|
||||
}
|
||||
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||
div.verseblock + div.attribution {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.admonitionblock .icon {
|
||||
vertical-align: top;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
color: #527bbd;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
div.admonitionblock td.content {
|
||||
padding-left: 0.5em;
|
||||
border-left: 3px solid #dddddd;
|
||||
}
|
||||
|
||||
div.exampleblock > div.content {
|
||||
border-left: 3px solid #dddddd;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
div.imageblock div.content { padding-left: 0; }
|
||||
span.image img { border-style: none; vertical-align: text-bottom; }
|
||||
a.image:visited { color: white; }
|
||||
|
||||
dl {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
dt {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0;
|
||||
font-style: normal;
|
||||
color: navy;
|
||||
}
|
||||
dd > *:first-child {
|
||||
margin-top: 0.1em;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
list-style-position: outside;
|
||||
}
|
||||
ol.arabic {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
ol.loweralpha {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
ol.upperalpha {
|
||||
list-style-type: upper-alpha;
|
||||
}
|
||||
ol.lowerroman {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
ol.upperroman {
|
||||
list-style-type: upper-roman;
|
||||
}
|
||||
|
||||
div.compact ul, div.compact ol,
|
||||
div.compact p, div.compact p,
|
||||
div.compact div, div.compact div {
|
||||
margin-top: 0.1em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
tfoot {
|
||||
font-weight: bold;
|
||||
}
|
||||
td > div.verse {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
div.hdlist {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
div.hdlist tr {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
dt.hdlist1.strong, td.hdlist1.strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
td.hdlist1 {
|
||||
vertical-align: top;
|
||||
font-style: normal;
|
||||
padding-right: 0.8em;
|
||||
color: navy;
|
||||
}
|
||||
td.hdlist2 {
|
||||
vertical-align: top;
|
||||
}
|
||||
div.hdlist.compact tr {
|
||||
margin: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.comment {
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
.footnote, .footnoteref {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
span.footnote, span.footnoteref {
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
#footnotes {
|
||||
margin: 20px 0 20px 0;
|
||||
padding: 7px 0 0 0;
|
||||
}
|
||||
|
||||
#footnotes div.footnote {
|
||||
margin: 0 0 5px 0;
|
||||
}
|
||||
|
||||
#footnotes hr {
|
||||
border: none;
|
||||
border-top: 1px solid silver;
|
||||
height: 1px;
|
||||
text-align: left;
|
||||
margin-left: 0;
|
||||
width: 20%;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
div.colist td {
|
||||
padding-right: 0.5em;
|
||||
padding-bottom: 0.3em;
|
||||
vertical-align: top;
|
||||
}
|
||||
div.colist td img {
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
#footer-badges { display: none; }
|
||||
}
|
||||
|
||||
#toc {
|
||||
margin-bottom: 2.5em;
|
||||
}
|
||||
|
||||
#toctitle {
|
||||
color: #527bbd;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
div.toclevel2 {
|
||||
margin-left: 2em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel3 {
|
||||
margin-left: 4em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel4 {
|
||||
margin-left: 6em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
span.aqua { color: aqua; }
|
||||
span.black { color: black; }
|
||||
span.blue { color: blue; }
|
||||
span.fuchsia { color: fuchsia; }
|
||||
span.gray { color: gray; }
|
||||
span.green { color: green; }
|
||||
span.lime { color: lime; }
|
||||
span.maroon { color: maroon; }
|
||||
span.navy { color: navy; }
|
||||
span.olive { color: olive; }
|
||||
span.purple { color: purple; }
|
||||
span.red { color: red; }
|
||||
span.silver { color: silver; }
|
||||
span.teal { color: teal; }
|
||||
span.white { color: white; }
|
||||
span.yellow { color: yellow; }
|
||||
|
||||
span.aqua-background { background: aqua; }
|
||||
span.black-background { background: black; }
|
||||
span.blue-background { background: blue; }
|
||||
span.fuchsia-background { background: fuchsia; }
|
||||
span.gray-background { background: gray; }
|
||||
span.green-background { background: green; }
|
||||
span.lime-background { background: lime; }
|
||||
span.maroon-background { background: maroon; }
|
||||
span.navy-background { background: navy; }
|
||||
span.olive-background { background: olive; }
|
||||
span.purple-background { background: purple; }
|
||||
span.red-background { background: red; }
|
||||
span.silver-background { background: silver; }
|
||||
span.teal-background { background: teal; }
|
||||
span.white-background { background: white; }
|
||||
span.yellow-background { background: yellow; }
|
||||
|
||||
span.big { font-size: 2em; }
|
||||
span.small { font-size: 0.6em; }
|
||||
|
||||
span.underline { text-decoration: underline; }
|
||||
span.overline { text-decoration: overline; }
|
||||
span.line-through { text-decoration: line-through; }
|
||||
|
||||
div.unbreakable { page-break-inside: avoid; }
|
||||
|
||||
|
||||
/*
|
||||
* xhtml11 specific
|
||||
*
|
||||
* */
|
||||
|
||||
div.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.tableblock > table {
|
||||
border: 3px solid #527bbd;
|
||||
}
|
||||
thead, p.table.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.table {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||
div.tableblock > table[frame="void"] {
|
||||
border-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="hsides"] {
|
||||
border-left-style: none;
|
||||
border-right-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="vsides"] {
|
||||
border-top-style: none;
|
||||
border-bottom-style: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html5 specific
|
||||
*
|
||||
* */
|
||||
|
||||
table.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
thead, p.tableblock.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.tableblock {
|
||||
margin-top: 0;
|
||||
}
|
||||
table.tableblock {
|
||||
border-width: 3px;
|
||||
border-spacing: 0px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
th.tableblock, td.tableblock {
|
||||
border-width: 1px;
|
||||
padding: 4px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
}
|
||||
|
||||
table.tableblock.frame-topbot {
|
||||
border-left-style: hidden;
|
||||
border-right-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-sides {
|
||||
border-top-style: hidden;
|
||||
border-bottom-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-none {
|
||||
border-style: hidden;
|
||||
}
|
||||
|
||||
th.tableblock.halign-left, td.tableblock.halign-left {
|
||||
text-align: left;
|
||||
}
|
||||
th.tableblock.halign-center, td.tableblock.halign-center {
|
||||
text-align: center;
|
||||
}
|
||||
th.tableblock.halign-right, td.tableblock.halign-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
th.tableblock.valign-top, td.tableblock.valign-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* manpage specific
|
||||
*
|
||||
* */
|
||||
|
||||
body.manpage h1 {
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
border-top: 2px solid silver;
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
body.manpage h2 {
|
||||
border-style: none;
|
||||
}
|
||||
body.manpage div.sectionbody {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body.manpage div#toc { display: none; }
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
/*<+'])');
|
||||
// Function that scans the DOM tree for header elements (the DOM2
|
||||
// nodeIterator API would be a better technique but not supported by all
|
||||
// browsers).
|
||||
var iterate = function (el) {
|
||||
for (var i = el.firstChild; i != null; i = i.nextSibling) {
|
||||
if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
|
||||
var mo = re.exec(i.tagName);
|
||||
if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
|
||||
result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
|
||||
}
|
||||
iterate(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
iterate(el);
|
||||
return result;
|
||||
}
|
||||
|
||||
var toc = document.getElementById("toc");
|
||||
if (!toc) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Delete existing TOC entries in case we're reloading the TOC.
|
||||
var tocEntriesToRemove = [];
|
||||
var i;
|
||||
for (i = 0; i < toc.childNodes.length; i++) {
|
||||
var entry = toc.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div'
|
||||
&& entry.getAttribute("class")
|
||||
&& entry.getAttribute("class").match(/^toclevel/))
|
||||
tocEntriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < tocEntriesToRemove.length; i++) {
|
||||
toc.removeChild(tocEntriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild TOC entries.
|
||||
var entries = tocEntries(document.getElementById("content"), toclevels);
|
||||
for (var i = 0; i < entries.length; ++i) {
|
||||
var entry = entries[i];
|
||||
if (entry.element.id == "")
|
||||
entry.element.id = "_toc_" + i;
|
||||
var a = document.createElement("a");
|
||||
a.href = "#" + entry.element.id;
|
||||
a.appendChild(document.createTextNode(entry.text));
|
||||
var div = document.createElement("div");
|
||||
div.appendChild(a);
|
||||
div.className = "toclevel" + entry.toclevel;
|
||||
toc.appendChild(div);
|
||||
}
|
||||
if (entries.length == 0)
|
||||
toc.parentNode.removeChild(toc);
|
||||
},
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// Footnotes generator
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
/* Based on footnote generation code from:
|
||||
* http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
|
||||
*/
|
||||
|
||||
footnotes: function () {
|
||||
// Delete existing footnote entries in case we're reloading the footnodes.
|
||||
var i;
|
||||
var noteholder = document.getElementById("footnotes");
|
||||
if (!noteholder) {
|
||||
return;
|
||||
}
|
||||
var entriesToRemove = [];
|
||||
for (i = 0; i < noteholder.childNodes.length; i++) {
|
||||
var entry = noteholder.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
|
||||
entriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < entriesToRemove.length; i++) {
|
||||
noteholder.removeChild(entriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild footnote entries.
|
||||
var cont = document.getElementById("content");
|
||||
var spans = cont.getElementsByTagName("span");
|
||||
var refs = {};
|
||||
var n = 0;
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnote") {
|
||||
n++;
|
||||
var note = spans[i].getAttribute("data-note");
|
||||
if (!note) {
|
||||
// Use [\s\S] in place of . so multi-line matches work.
|
||||
// Because JavaScript has no s (dotall) regex flag.
|
||||
note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
|
||||
spans[i].innerHTML =
|
||||
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
spans[i].setAttribute("data-note", note);
|
||||
}
|
||||
noteholder.innerHTML +=
|
||||
"<div class='footnote' id='_footnote_" + n + "'>" +
|
||||
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
|
||||
n + "</a>. " + note + "</div>";
|
||||
var id =spans[i].getAttribute("id");
|
||||
if (id != null) refs["#"+id] = n;
|
||||
}
|
||||
}
|
||||
if (n == 0)
|
||||
noteholder.parentNode.removeChild(noteholder);
|
||||
else {
|
||||
// Process footnoterefs.
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnoteref") {
|
||||
var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
|
||||
href = href.match(/#.*/)[0]; // Because IE return full URL.
|
||||
n = refs[href];
|
||||
spans[i].innerHTML =
|
||||
"[<a href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
install: function(toclevels) {
|
||||
var timerId;
|
||||
|
||||
function reinstall() {
|
||||
asciidoc.footnotes();
|
||||
if (toclevels) {
|
||||
asciidoc.toc(toclevels);
|
||||
}
|
||||
}
|
||||
|
||||
function reinstallAndRemoveTimer() {
|
||||
clearInterval(timerId);
|
||||
reinstall();
|
||||
}
|
||||
|
||||
timerId = setInterval(reinstall, 500);
|
||||
if (document.addEventListener)
|
||||
document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
|
||||
else
|
||||
window.onload = reinstallAndRemoveTimer;
|
||||
}
|
||||
|
||||
}
|
||||
asciidoc.install();
|
||||
/*]]>*/
|
||||
</script>
|
||||
</head>
|
||||
<body class="article">
|
||||
<div id="header">
|
||||
<h1>nvme-micron-nand-stats(1)</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div class="sect1">
|
||||
<h2 id="_name">NAME</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>nvme-micron-nand-stats - Retrieves NAND statistics of given micron device</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_synopsis">SYNOPSIS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="verseblock">
|
||||
<pre class="content"><em>nvme micron vs-nand-stats</em> <device></pre>
|
||||
<div class="attribution">
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_description">DESCRIPTION</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>This command prints NAND information (Total bytes written, Bad block count and
|
||||
Erase failures etc) for the given micron device.</p></div>
|
||||
<div class="paragraph"><p>The <device> parameter is mandatory and may be either the NVMe
|
||||
character device (ex: /dev/nvme0), or a namespace block device (ex:
|
||||
/dev/nvme0n1).</p></div>
|
||||
<div class="paragraph"><p>This will only work on Micron devices devices of model numbers 54XX. Support for
|
||||
new devices may be added subsequently.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_options">OPTIONS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>None</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_examples">EXAMPLES</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="ulist"><ul>
|
||||
<li>
|
||||
<p>
|
||||
Retrieve NAND statistics information
|
||||
</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre><code># nvme micron vs-nand-stats /dev/nvme0</code></pre>
|
||||
</div></div>
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_nvme">NVME</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>Part of the nvme-user suite</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footnotes"><hr /></div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2019-12-19 22:31:51 DST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
40
Documentation/nvme-micron-nand-stats.txt
Normal file
40
Documentation/nvme-micron-nand-stats.txt
Normal file
|
@ -0,0 +1,40 @@
|
|||
nvme-micron-nand-stats(1)
|
||||
=========================
|
||||
|
||||
NAME
|
||||
----
|
||||
nvme-micron-nand-stats - Retrieves NAND statistics of given micron device
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'nvme micron vs-nand-stats' <device>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This command prints NAND information (Total bytes written, Bad block count and
|
||||
Erase failures etc) for the given micron device.
|
||||
|
||||
The <device> parameter is mandatory and may be either the NVMe
|
||||
character device (ex: /dev/nvme0), or a namespace block device (ex:
|
||||
/dev/nvme0n1).
|
||||
|
||||
This will only work on Micron devices devices of model numbers 54XX. Support for
|
||||
new devices may be added subsequently.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
None
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
* Retrieve NAND statistics information
|
||||
+
|
||||
------------
|
||||
# nvme micron vs-nand-stats /dev/nvme0
|
||||
|
||||
------------
|
||||
|
||||
NVME
|
||||
----
|
||||
Part of the nvme-user suite
|
71
Documentation/nvme-micron-pcie-stats.1
Normal file
71
Documentation/nvme-micron-pcie-stats.1
Normal file
|
@ -0,0 +1,71 @@
|
|||
'\" t
|
||||
.\" Title: nvme-micron-pcie-stats
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-MICRON\-PCIE\-" "1" "10/20/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-micron-pcie-stats \- Retrieves pcie error statistics for given micron device
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
.nf
|
||||
\fInvme micron vs\-pcie\-stats\fR <device>
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
This command prints pcie correctable and uncorrectable error information for the given micron device\&.
|
||||
.sp
|
||||
The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&.
|
||||
.sp
|
||||
This will only work on Micron devices devices of model numbers 54XX\&. Support for new devices may be added subsequently\&.
|
||||
.SH "OPTIONS"
|
||||
.sp
|
||||
None
|
||||
.SH "EXAMPLES"
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
Retrieve PCIe error information
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
# nvme micron vs\-pcie\-stats /dev/nvme0
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.RE
|
||||
.SH "NVME"
|
||||
.sp
|
||||
Part of the nvme\-user suite
|
804
Documentation/nvme-micron-pcie-stats.html
Normal file
804
Documentation/nvme-micron-pcie-stats.html
Normal file
|
@ -0,0 +1,804 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<title>nvme-micron-pcie-stats(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
||||
/* Default font. */
|
||||
body {
|
||||
font-family: Georgia,serif;
|
||||
}
|
||||
|
||||
/* Title font. */
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
div.title, caption.title,
|
||||
thead, p.table.header,
|
||||
#toctitle,
|
||||
#author, #revnumber, #revdate, #revremark,
|
||||
#footer {
|
||||
font-family: Arial,Helvetica,sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 1em 5% 1em 5%;
|
||||
}
|
||||
|
||||
a {
|
||||
color: blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:visited {
|
||||
color: fuchsia;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
color: navy;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
color: #083194;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #527bbd;
|
||||
margin-top: 1.2em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
h2 {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
h3 {
|
||||
float: left;
|
||||
}
|
||||
h3 + * {
|
||||
clear: left;
|
||||
}
|
||||
h5 {
|
||||
font-size: 1.0em;
|
||||
}
|
||||
|
||||
div.sectionbody {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid silver;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
ul, ol, li > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
ul > li { color: #aaa; }
|
||||
ul > li > * { color: black; }
|
||||
|
||||
.monospaced, code, pre {
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
font-size: inherit;
|
||||
color: navy;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#author {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
#email {
|
||||
}
|
||||
#revnumber, #revdate, #revremark {
|
||||
}
|
||||
|
||||
#footer {
|
||||
font-size: small;
|
||||
border-top: 2px solid silver;
|
||||
padding-top: 0.5em;
|
||||
margin-top: 4.0em;
|
||||
}
|
||||
#footer-text {
|
||||
float: left;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#footer-badges {
|
||||
float: right;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
#preamble {
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.imageblock, div.exampleblock, div.verseblock,
|
||||
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||
div.admonitionblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.admonitionblock {
|
||||
margin-top: 2.0em;
|
||||
margin-bottom: 2.0em;
|
||||
margin-right: 10%;
|
||||
color: #606060;
|
||||
}
|
||||
|
||||
div.content { /* Block element content. */
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Block element titles. */
|
||||
div.title, caption.title {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
div.title + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
td div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content + div.title {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
|
||||
div.sidebarblock > div.content {
|
||||
background: #ffffee;
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 4px solid #f0f0f0;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.listingblock > div.content {
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
background: #f8f8f8;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.quoteblock, div.verseblock {
|
||||
padding-left: 1.0em;
|
||||
margin-left: 1.0em;
|
||||
margin-right: 10%;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
div.quoteblock > div.attribution {
|
||||
padding-top: 0.5em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.verseblock > pre.content {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
div.verseblock > div.attribution {
|
||||
padding-top: 0.75em;
|
||||
text-align: left;
|
||||
}
|
||||
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||
div.verseblock + div.attribution {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.admonitionblock .icon {
|
||||
vertical-align: top;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
color: #527bbd;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
div.admonitionblock td.content {
|
||||
padding-left: 0.5em;
|
||||
border-left: 3px solid #dddddd;
|
||||
}
|
||||
|
||||
div.exampleblock > div.content {
|
||||
border-left: 3px solid #dddddd;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
div.imageblock div.content { padding-left: 0; }
|
||||
span.image img { border-style: none; vertical-align: text-bottom; }
|
||||
a.image:visited { color: white; }
|
||||
|
||||
dl {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
dt {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0;
|
||||
font-style: normal;
|
||||
color: navy;
|
||||
}
|
||||
dd > *:first-child {
|
||||
margin-top: 0.1em;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
list-style-position: outside;
|
||||
}
|
||||
ol.arabic {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
ol.loweralpha {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
ol.upperalpha {
|
||||
list-style-type: upper-alpha;
|
||||
}
|
||||
ol.lowerroman {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
ol.upperroman {
|
||||
list-style-type: upper-roman;
|
||||
}
|
||||
|
||||
div.compact ul, div.compact ol,
|
||||
div.compact p, div.compact p,
|
||||
div.compact div, div.compact div {
|
||||
margin-top: 0.1em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
tfoot {
|
||||
font-weight: bold;
|
||||
}
|
||||
td > div.verse {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
div.hdlist {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
div.hdlist tr {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
dt.hdlist1.strong, td.hdlist1.strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
td.hdlist1 {
|
||||
vertical-align: top;
|
||||
font-style: normal;
|
||||
padding-right: 0.8em;
|
||||
color: navy;
|
||||
}
|
||||
td.hdlist2 {
|
||||
vertical-align: top;
|
||||
}
|
||||
div.hdlist.compact tr {
|
||||
margin: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.comment {
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
.footnote, .footnoteref {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
span.footnote, span.footnoteref {
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
#footnotes {
|
||||
margin: 20px 0 20px 0;
|
||||
padding: 7px 0 0 0;
|
||||
}
|
||||
|
||||
#footnotes div.footnote {
|
||||
margin: 0 0 5px 0;
|
||||
}
|
||||
|
||||
#footnotes hr {
|
||||
border: none;
|
||||
border-top: 1px solid silver;
|
||||
height: 1px;
|
||||
text-align: left;
|
||||
margin-left: 0;
|
||||
width: 20%;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
div.colist td {
|
||||
padding-right: 0.5em;
|
||||
padding-bottom: 0.3em;
|
||||
vertical-align: top;
|
||||
}
|
||||
div.colist td img {
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
#footer-badges { display: none; }
|
||||
}
|
||||
|
||||
#toc {
|
||||
margin-bottom: 2.5em;
|
||||
}
|
||||
|
||||
#toctitle {
|
||||
color: #527bbd;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
div.toclevel2 {
|
||||
margin-left: 2em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel3 {
|
||||
margin-left: 4em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel4 {
|
||||
margin-left: 6em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
span.aqua { color: aqua; }
|
||||
span.black { color: black; }
|
||||
span.blue { color: blue; }
|
||||
span.fuchsia { color: fuchsia; }
|
||||
span.gray { color: gray; }
|
||||
span.green { color: green; }
|
||||
span.lime { color: lime; }
|
||||
span.maroon { color: maroon; }
|
||||
span.navy { color: navy; }
|
||||
span.olive { color: olive; }
|
||||
span.purple { color: purple; }
|
||||
span.red { color: red; }
|
||||
span.silver { color: silver; }
|
||||
span.teal { color: teal; }
|
||||
span.white { color: white; }
|
||||
span.yellow { color: yellow; }
|
||||
|
||||
span.aqua-background { background: aqua; }
|
||||
span.black-background { background: black; }
|
||||
span.blue-background { background: blue; }
|
||||
span.fuchsia-background { background: fuchsia; }
|
||||
span.gray-background { background: gray; }
|
||||
span.green-background { background: green; }
|
||||
span.lime-background { background: lime; }
|
||||
span.maroon-background { background: maroon; }
|
||||
span.navy-background { background: navy; }
|
||||
span.olive-background { background: olive; }
|
||||
span.purple-background { background: purple; }
|
||||
span.red-background { background: red; }
|
||||
span.silver-background { background: silver; }
|
||||
span.teal-background { background: teal; }
|
||||
span.white-background { background: white; }
|
||||
span.yellow-background { background: yellow; }
|
||||
|
||||
span.big { font-size: 2em; }
|
||||
span.small { font-size: 0.6em; }
|
||||
|
||||
span.underline { text-decoration: underline; }
|
||||
span.overline { text-decoration: overline; }
|
||||
span.line-through { text-decoration: line-through; }
|
||||
|
||||
div.unbreakable { page-break-inside: avoid; }
|
||||
|
||||
|
||||
/*
|
||||
* xhtml11 specific
|
||||
*
|
||||
* */
|
||||
|
||||
div.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.tableblock > table {
|
||||
border: 3px solid #527bbd;
|
||||
}
|
||||
thead, p.table.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.table {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||
div.tableblock > table[frame="void"] {
|
||||
border-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="hsides"] {
|
||||
border-left-style: none;
|
||||
border-right-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="vsides"] {
|
||||
border-top-style: none;
|
||||
border-bottom-style: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html5 specific
|
||||
*
|
||||
* */
|
||||
|
||||
table.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
thead, p.tableblock.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.tableblock {
|
||||
margin-top: 0;
|
||||
}
|
||||
table.tableblock {
|
||||
border-width: 3px;
|
||||
border-spacing: 0px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
th.tableblock, td.tableblock {
|
||||
border-width: 1px;
|
||||
padding: 4px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
}
|
||||
|
||||
table.tableblock.frame-topbot {
|
||||
border-left-style: hidden;
|
||||
border-right-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-sides {
|
||||
border-top-style: hidden;
|
||||
border-bottom-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-none {
|
||||
border-style: hidden;
|
||||
}
|
||||
|
||||
th.tableblock.halign-left, td.tableblock.halign-left {
|
||||
text-align: left;
|
||||
}
|
||||
th.tableblock.halign-center, td.tableblock.halign-center {
|
||||
text-align: center;
|
||||
}
|
||||
th.tableblock.halign-right, td.tableblock.halign-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
th.tableblock.valign-top, td.tableblock.valign-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* manpage specific
|
||||
*
|
||||
* */
|
||||
|
||||
body.manpage h1 {
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
border-top: 2px solid silver;
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
body.manpage h2 {
|
||||
border-style: none;
|
||||
}
|
||||
body.manpage div.sectionbody {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body.manpage div#toc { display: none; }
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
/*<+'])');
|
||||
// Function that scans the DOM tree for header elements (the DOM2
|
||||
// nodeIterator API would be a better technique but not supported by all
|
||||
// browsers).
|
||||
var iterate = function (el) {
|
||||
for (var i = el.firstChild; i != null; i = i.nextSibling) {
|
||||
if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
|
||||
var mo = re.exec(i.tagName);
|
||||
if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
|
||||
result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
|
||||
}
|
||||
iterate(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
iterate(el);
|
||||
return result;
|
||||
}
|
||||
|
||||
var toc = document.getElementById("toc");
|
||||
if (!toc) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Delete existing TOC entries in case we're reloading the TOC.
|
||||
var tocEntriesToRemove = [];
|
||||
var i;
|
||||
for (i = 0; i < toc.childNodes.length; i++) {
|
||||
var entry = toc.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div'
|
||||
&& entry.getAttribute("class")
|
||||
&& entry.getAttribute("class").match(/^toclevel/))
|
||||
tocEntriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < tocEntriesToRemove.length; i++) {
|
||||
toc.removeChild(tocEntriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild TOC entries.
|
||||
var entries = tocEntries(document.getElementById("content"), toclevels);
|
||||
for (var i = 0; i < entries.length; ++i) {
|
||||
var entry = entries[i];
|
||||
if (entry.element.id == "")
|
||||
entry.element.id = "_toc_" + i;
|
||||
var a = document.createElement("a");
|
||||
a.href = "#" + entry.element.id;
|
||||
a.appendChild(document.createTextNode(entry.text));
|
||||
var div = document.createElement("div");
|
||||
div.appendChild(a);
|
||||
div.className = "toclevel" + entry.toclevel;
|
||||
toc.appendChild(div);
|
||||
}
|
||||
if (entries.length == 0)
|
||||
toc.parentNode.removeChild(toc);
|
||||
},
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// Footnotes generator
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
/* Based on footnote generation code from:
|
||||
* http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
|
||||
*/
|
||||
|
||||
footnotes: function () {
|
||||
// Delete existing footnote entries in case we're reloading the footnodes.
|
||||
var i;
|
||||
var noteholder = document.getElementById("footnotes");
|
||||
if (!noteholder) {
|
||||
return;
|
||||
}
|
||||
var entriesToRemove = [];
|
||||
for (i = 0; i < noteholder.childNodes.length; i++) {
|
||||
var entry = noteholder.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
|
||||
entriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < entriesToRemove.length; i++) {
|
||||
noteholder.removeChild(entriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild footnote entries.
|
||||
var cont = document.getElementById("content");
|
||||
var spans = cont.getElementsByTagName("span");
|
||||
var refs = {};
|
||||
var n = 0;
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnote") {
|
||||
n++;
|
||||
var note = spans[i].getAttribute("data-note");
|
||||
if (!note) {
|
||||
// Use [\s\S] in place of . so multi-line matches work.
|
||||
// Because JavaScript has no s (dotall) regex flag.
|
||||
note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
|
||||
spans[i].innerHTML =
|
||||
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
spans[i].setAttribute("data-note", note);
|
||||
}
|
||||
noteholder.innerHTML +=
|
||||
"<div class='footnote' id='_footnote_" + n + "'>" +
|
||||
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
|
||||
n + "</a>. " + note + "</div>";
|
||||
var id =spans[i].getAttribute("id");
|
||||
if (id != null) refs["#"+id] = n;
|
||||
}
|
||||
}
|
||||
if (n == 0)
|
||||
noteholder.parentNode.removeChild(noteholder);
|
||||
else {
|
||||
// Process footnoterefs.
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnoteref") {
|
||||
var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
|
||||
href = href.match(/#.*/)[0]; // Because IE return full URL.
|
||||
n = refs[href];
|
||||
spans[i].innerHTML =
|
||||
"[<a href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
install: function(toclevels) {
|
||||
var timerId;
|
||||
|
||||
function reinstall() {
|
||||
asciidoc.footnotes();
|
||||
if (toclevels) {
|
||||
asciidoc.toc(toclevels);
|
||||
}
|
||||
}
|
||||
|
||||
function reinstallAndRemoveTimer() {
|
||||
clearInterval(timerId);
|
||||
reinstall();
|
||||
}
|
||||
|
||||
timerId = setInterval(reinstall, 500);
|
||||
if (document.addEventListener)
|
||||
document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
|
||||
else
|
||||
window.onload = reinstallAndRemoveTimer;
|
||||
}
|
||||
|
||||
}
|
||||
asciidoc.install();
|
||||
/*]]>*/
|
||||
</script>
|
||||
</head>
|
||||
<body class="article">
|
||||
<div id="header">
|
||||
<h1>nvme-micron-pcie-stats(1)</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div class="sect1">
|
||||
<h2 id="_name">NAME</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>nvme-micron-pcie-stats - Retrieves pcie error statistics for given micron device</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_synopsis">SYNOPSIS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="verseblock">
|
||||
<pre class="content"><em>nvme micron vs-pcie-stats</em> <device></pre>
|
||||
<div class="attribution">
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_description">DESCRIPTION</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>This command prints pcie correctable and uncorrectable error information for the
|
||||
given micron device.</p></div>
|
||||
<div class="paragraph"><p>The <device> parameter is mandatory and may be either the NVMe
|
||||
character device (ex: /dev/nvme0), or a namespace block device (ex:
|
||||
/dev/nvme0n1).</p></div>
|
||||
<div class="paragraph"><p>This will only work on Micron devices devices of model numbers 54XX. Support for
|
||||
new devices may be added subsequently.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_options">OPTIONS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>None</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_examples">EXAMPLES</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="ulist"><ul>
|
||||
<li>
|
||||
<p>
|
||||
Retrieve PCIe error information
|
||||
</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre><code># nvme micron vs-pcie-stats /dev/nvme0</code></pre>
|
||||
</div></div>
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_nvme">NVME</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>Part of the nvme-user suite</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footnotes"><hr /></div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2019-12-19 22:25:46 DST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
40
Documentation/nvme-micron-pcie-stats.txt
Normal file
40
Documentation/nvme-micron-pcie-stats.txt
Normal file
|
@ -0,0 +1,40 @@
|
|||
nvme-micron-pcie-stats(1)
|
||||
=========================
|
||||
|
||||
NAME
|
||||
----
|
||||
nvme-micron-pcie-stats - Retrieves pcie error statistics for given micron device
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'nvme micron vs-pcie-stats' <device>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This command prints pcie correctable and uncorrectable error information for the
|
||||
given micron device.
|
||||
|
||||
The <device> parameter is mandatory and may be either the NVMe
|
||||
character device (ex: /dev/nvme0), or a namespace block device (ex:
|
||||
/dev/nvme0n1).
|
||||
|
||||
This will only work on Micron devices devices of model numbers 54XX. Support for
|
||||
new devices may be added subsequently.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
None
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
* Retrieve PCIe error information
|
||||
+
|
||||
------------
|
||||
# nvme micron vs-pcie-stats /dev/nvme0
|
||||
|
||||
------------
|
||||
|
||||
NVME
|
||||
----
|
||||
Part of the nvme-user suite
|
139
Documentation/nvme-micron-selective-download.1
Normal file
139
Documentation/nvme-micron-selective-download.1
Normal file
|
@ -0,0 +1,139 @@
|
|||
'\" t
|
||||
.\" Title: nvme-micron-selective-download
|
||||
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
|
||||
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
|
||||
.\" Date: 10/20/2020
|
||||
.\" Manual: NVMe Manual
|
||||
.\" Source: NVMe
|
||||
.\" Language: English
|
||||
.\"
|
||||
.TH "NVME\-MICRON\-SELECT" "1" "10/20/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-micron-selective-download \- Performs selective firmware download that allows user to select which firmware binary to update for 9200 devices\&. This requires power cycle once the update completes\&.
|
||||
.SH "SYNOPSIS"
|
||||
.sp
|
||||
.nf
|
||||
\fInvme micron selective\-download\fR <device> [\-\-fw=<FILE>, \-f <FILE>] [\-\-select=<flag>, \-s <flag>]
|
||||
.fi
|
||||
.SH "DESCRIPTION"
|
||||
.sp
|
||||
This command uses micron vendor specific nvme commands to download given firmware image to the specified 9200 device to update selected or all portions of firmware image\&.
|
||||
.sp
|
||||
The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&.
|
||||
.sp
|
||||
This will only work on Micron devices devices of model number 9200\&. Support for new devices may be added subsequently\&. Results for any other device are undefined\&.
|
||||
.SH "OPTIONS"
|
||||
.PP
|
||||
\-f <FILE>, \-\-fw=<FILE>
|
||||
.RS 4
|
||||
name of the firmware image file
|
||||
.RE
|
||||
.PP
|
||||
\-s <flag>, \-\-select=<flag>
|
||||
.RS 4
|
||||
flag that has following values
|
||||
.RE
|
||||
.PP
|
||||
OOB
|
||||
.RS 4
|
||||
This updates the OOB and main firmware\en"
|
||||
.RE
|
||||
.PP
|
||||
EEP
|
||||
.RS 4
|
||||
This updates the eeprom and main firmware\en"
|
||||
.RE
|
||||
.PP
|
||||
ALL
|
||||
.RS 4
|
||||
This updates the eeprom, OOB, and main firmware";
|
||||
.RE
|
||||
.SH "EXAMPLES"
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
Update OOB and main firmware
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
# nvme micron selective\-download /dev/nvme0 \-\-fw=firmware_bin \-\-select=OOB
|
||||
# nvme micron selective\-download /dev/nvme0 \-f firmware_bin \-s OOB
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
Update OOB and main firmware
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
# nvme micron selective\-download /dev/nvme0 \-\-fw=firmware_bin \-\-select=EEP
|
||||
# nvme micron selective\-download /dev/nvme0 \-f firmware_bin \-\-s EEP
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
Update eeprom, OOB and main firmware
|
||||
.sp
|
||||
.if n \{\
|
||||
.RS 4
|
||||
.\}
|
||||
.nf
|
||||
# nvme micron selective\-download /dev/nvme0 \-\-fw=firmware_bin \-\-select=ALL
|
||||
# nvme micron selective\-download /dev/nvme0 \-f firmware_bin \-\-s ALL
|
||||
.fi
|
||||
.if n \{\
|
||||
.RE
|
||||
.\}
|
||||
.RE
|
||||
.SH "NVME"
|
||||
.sp
|
||||
Part of the nvme\-user suite
|
874
Documentation/nvme-micron-selective-download.html
Normal file
874
Documentation/nvme-micron-selective-download.html
Normal file
|
@ -0,0 +1,874 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
||||
<meta name="generator" content="AsciiDoc 8.6.10" />
|
||||
<title>nvme-micron-selective-download(1)</title>
|
||||
<style type="text/css">
|
||||
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
||||
|
||||
/* Default font. */
|
||||
body {
|
||||
font-family: Georgia,serif;
|
||||
}
|
||||
|
||||
/* Title font. */
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
div.title, caption.title,
|
||||
thead, p.table.header,
|
||||
#toctitle,
|
||||
#author, #revnumber, #revdate, #revremark,
|
||||
#footer {
|
||||
font-family: Arial,Helvetica,sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 1em 5% 1em 5%;
|
||||
}
|
||||
|
||||
a {
|
||||
color: blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:visited {
|
||||
color: fuchsia;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style: italic;
|
||||
color: navy;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold;
|
||||
color: #083194;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #527bbd;
|
||||
margin-top: 1.2em;
|
||||
margin-bottom: 0.5em;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
h2 {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
h3 {
|
||||
float: left;
|
||||
}
|
||||
h3 + * {
|
||||
clear: left;
|
||||
}
|
||||
h5 {
|
||||
font-size: 1.0em;
|
||||
}
|
||||
|
||||
div.sectionbody {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid silver;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
ul, ol, li > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
ul > li { color: #aaa; }
|
||||
ul > li > * { color: black; }
|
||||
|
||||
.monospaced, code, pre {
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
font-size: inherit;
|
||||
color: navy;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#author {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
#email {
|
||||
}
|
||||
#revnumber, #revdate, #revremark {
|
||||
}
|
||||
|
||||
#footer {
|
||||
font-size: small;
|
||||
border-top: 2px solid silver;
|
||||
padding-top: 0.5em;
|
||||
margin-top: 4.0em;
|
||||
}
|
||||
#footer-text {
|
||||
float: left;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
#footer-badges {
|
||||
float: right;
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
#preamble {
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.imageblock, div.exampleblock, div.verseblock,
|
||||
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
||||
div.admonitionblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.admonitionblock {
|
||||
margin-top: 2.0em;
|
||||
margin-bottom: 2.0em;
|
||||
margin-right: 10%;
|
||||
color: #606060;
|
||||
}
|
||||
|
||||
div.content { /* Block element content. */
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Block element titles. */
|
||||
div.title, caption.title {
|
||||
color: #527bbd;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
div.title + * {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
td div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content div.title:first-child {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
div.content + div.title {
|
||||
margin-top: 0.0em;
|
||||
}
|
||||
|
||||
div.sidebarblock > div.content {
|
||||
background: #ffffee;
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 4px solid #f0f0f0;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.listingblock > div.content {
|
||||
border: 1px solid #dddddd;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
background: #f8f8f8;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.quoteblock, div.verseblock {
|
||||
padding-left: 1.0em;
|
||||
margin-left: 1.0em;
|
||||
margin-right: 10%;
|
||||
border-left: 5px solid #f0f0f0;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
div.quoteblock > div.attribution {
|
||||
padding-top: 0.5em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.verseblock > pre.content {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
div.verseblock > div.attribution {
|
||||
padding-top: 0.75em;
|
||||
text-align: left;
|
||||
}
|
||||
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
||||
div.verseblock + div.attribution {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.admonitionblock .icon {
|
||||
vertical-align: top;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
color: #527bbd;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
div.admonitionblock td.content {
|
||||
padding-left: 0.5em;
|
||||
border-left: 3px solid #dddddd;
|
||||
}
|
||||
|
||||
div.exampleblock > div.content {
|
||||
border-left: 3px solid #dddddd;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
div.imageblock div.content { padding-left: 0; }
|
||||
span.image img { border-style: none; vertical-align: text-bottom; }
|
||||
a.image:visited { color: white; }
|
||||
|
||||
dl {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
dt {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0;
|
||||
font-style: normal;
|
||||
color: navy;
|
||||
}
|
||||
dd > *:first-child {
|
||||
margin-top: 0.1em;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
list-style-position: outside;
|
||||
}
|
||||
ol.arabic {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
ol.loweralpha {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
ol.upperalpha {
|
||||
list-style-type: upper-alpha;
|
||||
}
|
||||
ol.lowerroman {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
ol.upperroman {
|
||||
list-style-type: upper-roman;
|
||||
}
|
||||
|
||||
div.compact ul, div.compact ol,
|
||||
div.compact p, div.compact p,
|
||||
div.compact div, div.compact div {
|
||||
margin-top: 0.1em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
tfoot {
|
||||
font-weight: bold;
|
||||
}
|
||||
td > div.verse {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
div.hdlist {
|
||||
margin-top: 0.8em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
div.hdlist tr {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
dt.hdlist1.strong, td.hdlist1.strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
td.hdlist1 {
|
||||
vertical-align: top;
|
||||
font-style: normal;
|
||||
padding-right: 0.8em;
|
||||
color: navy;
|
||||
}
|
||||
td.hdlist2 {
|
||||
vertical-align: top;
|
||||
}
|
||||
div.hdlist.compact tr {
|
||||
margin: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.comment {
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
.footnote, .footnoteref {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
span.footnote, span.footnoteref {
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
#footnotes {
|
||||
margin: 20px 0 20px 0;
|
||||
padding: 7px 0 0 0;
|
||||
}
|
||||
|
||||
#footnotes div.footnote {
|
||||
margin: 0 0 5px 0;
|
||||
}
|
||||
|
||||
#footnotes hr {
|
||||
border: none;
|
||||
border-top: 1px solid silver;
|
||||
height: 1px;
|
||||
text-align: left;
|
||||
margin-left: 0;
|
||||
width: 20%;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
div.colist td {
|
||||
padding-right: 0.5em;
|
||||
padding-bottom: 0.3em;
|
||||
vertical-align: top;
|
||||
}
|
||||
div.colist td img {
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
#footer-badges { display: none; }
|
||||
}
|
||||
|
||||
#toc {
|
||||
margin-bottom: 2.5em;
|
||||
}
|
||||
|
||||
#toctitle {
|
||||
color: #527bbd;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 0.1em;
|
||||
}
|
||||
|
||||
div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
div.toclevel2 {
|
||||
margin-left: 2em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel3 {
|
||||
margin-left: 4em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
div.toclevel4 {
|
||||
margin-left: 6em;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
span.aqua { color: aqua; }
|
||||
span.black { color: black; }
|
||||
span.blue { color: blue; }
|
||||
span.fuchsia { color: fuchsia; }
|
||||
span.gray { color: gray; }
|
||||
span.green { color: green; }
|
||||
span.lime { color: lime; }
|
||||
span.maroon { color: maroon; }
|
||||
span.navy { color: navy; }
|
||||
span.olive { color: olive; }
|
||||
span.purple { color: purple; }
|
||||
span.red { color: red; }
|
||||
span.silver { color: silver; }
|
||||
span.teal { color: teal; }
|
||||
span.white { color: white; }
|
||||
span.yellow { color: yellow; }
|
||||
|
||||
span.aqua-background { background: aqua; }
|
||||
span.black-background { background: black; }
|
||||
span.blue-background { background: blue; }
|
||||
span.fuchsia-background { background: fuchsia; }
|
||||
span.gray-background { background: gray; }
|
||||
span.green-background { background: green; }
|
||||
span.lime-background { background: lime; }
|
||||
span.maroon-background { background: maroon; }
|
||||
span.navy-background { background: navy; }
|
||||
span.olive-background { background: olive; }
|
||||
span.purple-background { background: purple; }
|
||||
span.red-background { background: red; }
|
||||
span.silver-background { background: silver; }
|
||||
span.teal-background { background: teal; }
|
||||
span.white-background { background: white; }
|
||||
span.yellow-background { background: yellow; }
|
||||
|
||||
span.big { font-size: 2em; }
|
||||
span.small { font-size: 0.6em; }
|
||||
|
||||
span.underline { text-decoration: underline; }
|
||||
span.overline { text-decoration: overline; }
|
||||
span.line-through { text-decoration: line-through; }
|
||||
|
||||
div.unbreakable { page-break-inside: avoid; }
|
||||
|
||||
|
||||
/*
|
||||
* xhtml11 specific
|
||||
*
|
||||
* */
|
||||
|
||||
div.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
div.tableblock > table {
|
||||
border: 3px solid #527bbd;
|
||||
}
|
||||
thead, p.table.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.table {
|
||||
margin-top: 0;
|
||||
}
|
||||
/* Because the table frame attribute is overriden by CSS in most browsers. */
|
||||
div.tableblock > table[frame="void"] {
|
||||
border-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="hsides"] {
|
||||
border-left-style: none;
|
||||
border-right-style: none;
|
||||
}
|
||||
div.tableblock > table[frame="vsides"] {
|
||||
border-top-style: none;
|
||||
border-bottom-style: none;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html5 specific
|
||||
*
|
||||
* */
|
||||
|
||||
table.tableblock {
|
||||
margin-top: 1.0em;
|
||||
margin-bottom: 1.5em;
|
||||
}
|
||||
thead, p.tableblock.header {
|
||||
font-weight: bold;
|
||||
color: #527bbd;
|
||||
}
|
||||
p.tableblock {
|
||||
margin-top: 0;
|
||||
}
|
||||
table.tableblock {
|
||||
border-width: 3px;
|
||||
border-spacing: 0px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
th.tableblock, td.tableblock {
|
||||
border-width: 1px;
|
||||
padding: 4px;
|
||||
border-style: solid;
|
||||
border-color: #527bbd;
|
||||
}
|
||||
|
||||
table.tableblock.frame-topbot {
|
||||
border-left-style: hidden;
|
||||
border-right-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-sides {
|
||||
border-top-style: hidden;
|
||||
border-bottom-style: hidden;
|
||||
}
|
||||
table.tableblock.frame-none {
|
||||
border-style: hidden;
|
||||
}
|
||||
|
||||
th.tableblock.halign-left, td.tableblock.halign-left {
|
||||
text-align: left;
|
||||
}
|
||||
th.tableblock.halign-center, td.tableblock.halign-center {
|
||||
text-align: center;
|
||||
}
|
||||
th.tableblock.halign-right, td.tableblock.halign-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
th.tableblock.valign-top, td.tableblock.valign-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
||||
vertical-align: middle;
|
||||
}
|
||||
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* manpage specific
|
||||
*
|
||||
* */
|
||||
|
||||
body.manpage h1 {
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
border-top: 2px solid silver;
|
||||
border-bottom: 2px solid silver;
|
||||
}
|
||||
body.manpage h2 {
|
||||
border-style: none;
|
||||
}
|
||||
body.manpage div.sectionbody {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body.manpage div#toc { display: none; }
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
/*<+'])');
|
||||
// Function that scans the DOM tree for header elements (the DOM2
|
||||
// nodeIterator API would be a better technique but not supported by all
|
||||
// browsers).
|
||||
var iterate = function (el) {
|
||||
for (var i = el.firstChild; i != null; i = i.nextSibling) {
|
||||
if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
|
||||
var mo = re.exec(i.tagName);
|
||||
if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
|
||||
result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
|
||||
}
|
||||
iterate(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
iterate(el);
|
||||
return result;
|
||||
}
|
||||
|
||||
var toc = document.getElementById("toc");
|
||||
if (!toc) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Delete existing TOC entries in case we're reloading the TOC.
|
||||
var tocEntriesToRemove = [];
|
||||
var i;
|
||||
for (i = 0; i < toc.childNodes.length; i++) {
|
||||
var entry = toc.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div'
|
||||
&& entry.getAttribute("class")
|
||||
&& entry.getAttribute("class").match(/^toclevel/))
|
||||
tocEntriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < tocEntriesToRemove.length; i++) {
|
||||
toc.removeChild(tocEntriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild TOC entries.
|
||||
var entries = tocEntries(document.getElementById("content"), toclevels);
|
||||
for (var i = 0; i < entries.length; ++i) {
|
||||
var entry = entries[i];
|
||||
if (entry.element.id == "")
|
||||
entry.element.id = "_toc_" + i;
|
||||
var a = document.createElement("a");
|
||||
a.href = "#" + entry.element.id;
|
||||
a.appendChild(document.createTextNode(entry.text));
|
||||
var div = document.createElement("div");
|
||||
div.appendChild(a);
|
||||
div.className = "toclevel" + entry.toclevel;
|
||||
toc.appendChild(div);
|
||||
}
|
||||
if (entries.length == 0)
|
||||
toc.parentNode.removeChild(toc);
|
||||
},
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
// Footnotes generator
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
/* Based on footnote generation code from:
|
||||
* http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
|
||||
*/
|
||||
|
||||
footnotes: function () {
|
||||
// Delete existing footnote entries in case we're reloading the footnodes.
|
||||
var i;
|
||||
var noteholder = document.getElementById("footnotes");
|
||||
if (!noteholder) {
|
||||
return;
|
||||
}
|
||||
var entriesToRemove = [];
|
||||
for (i = 0; i < noteholder.childNodes.length; i++) {
|
||||
var entry = noteholder.childNodes[i];
|
||||
if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
|
||||
entriesToRemove.push(entry);
|
||||
}
|
||||
for (i = 0; i < entriesToRemove.length; i++) {
|
||||
noteholder.removeChild(entriesToRemove[i]);
|
||||
}
|
||||
|
||||
// Rebuild footnote entries.
|
||||
var cont = document.getElementById("content");
|
||||
var spans = cont.getElementsByTagName("span");
|
||||
var refs = {};
|
||||
var n = 0;
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnote") {
|
||||
n++;
|
||||
var note = spans[i].getAttribute("data-note");
|
||||
if (!note) {
|
||||
// Use [\s\S] in place of . so multi-line matches work.
|
||||
// Because JavaScript has no s (dotall) regex flag.
|
||||
note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
|
||||
spans[i].innerHTML =
|
||||
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
spans[i].setAttribute("data-note", note);
|
||||
}
|
||||
noteholder.innerHTML +=
|
||||
"<div class='footnote' id='_footnote_" + n + "'>" +
|
||||
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
|
||||
n + "</a>. " + note + "</div>";
|
||||
var id =spans[i].getAttribute("id");
|
||||
if (id != null) refs["#"+id] = n;
|
||||
}
|
||||
}
|
||||
if (n == 0)
|
||||
noteholder.parentNode.removeChild(noteholder);
|
||||
else {
|
||||
// Process footnoterefs.
|
||||
for (i=0; i<spans.length; i++) {
|
||||
if (spans[i].className == "footnoteref") {
|
||||
var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
|
||||
href = href.match(/#.*/)[0]; // Because IE return full URL.
|
||||
n = refs[href];
|
||||
spans[i].innerHTML =
|
||||
"[<a href='#_footnote_" + n +
|
||||
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
install: function(toclevels) {
|
||||
var timerId;
|
||||
|
||||
function reinstall() {
|
||||
asciidoc.footnotes();
|
||||
if (toclevels) {
|
||||
asciidoc.toc(toclevels);
|
||||
}
|
||||
}
|
||||
|
||||
function reinstallAndRemoveTimer() {
|
||||
clearInterval(timerId);
|
||||
reinstall();
|
||||
}
|
||||
|
||||
timerId = setInterval(reinstall, 500);
|
||||
if (document.addEventListener)
|
||||
document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
|
||||
else
|
||||
window.onload = reinstallAndRemoveTimer;
|
||||
}
|
||||
|
||||
}
|
||||
asciidoc.install();
|
||||
/*]]>*/
|
||||
</script>
|
||||
</head>
|
||||
<body class="article">
|
||||
<div id="header">
|
||||
<h1>nvme-micron-selective-download(1)</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<div class="sect1">
|
||||
<h2 id="_name">NAME</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>nvme-micron-selective-download - Performs selective firmware download that allows user
|
||||
to select which firmware binary to update for 9200 devices. This requires power cycle
|
||||
once the update completes.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_synopsis">SYNOPSIS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="verseblock">
|
||||
<pre class="content"><em>nvme micron selective-download</em> <device> [--fw=<FILE>, -f <FILE>] [--select=<flag>, -s <flag>]</pre>
|
||||
<div class="attribution">
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_description">DESCRIPTION</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>This command uses micron vendor specific nvme commands to download given firmware image to the
|
||||
specified 9200 device to update selected or all portions of firmware image.</p></div>
|
||||
<div class="paragraph"><p>The <device> parameter is mandatory and may be either the NVMe
|
||||
character device (ex: /dev/nvme0), or a namespace block device (ex:
|
||||
/dev/nvme0n1).</p></div>
|
||||
<div class="paragraph"><p>This will only work on Micron devices devices of model number 9200. Support for new devices
|
||||
may be added subsequently. Results for any other device are undefined.</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_options">OPTIONS</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="dlist"><dl>
|
||||
<dt class="hdlist1">
|
||||
-f <FILE>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
--fw=<FILE>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
name of the firmware image file
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
-s <flag>
|
||||
</dt>
|
||||
<dt class="hdlist1">
|
||||
--select=<flag>
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
flag that has following values
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
OOB
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
This updates the OOB and main firmware\n"
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
EEP
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
This updates the eeprom and main firmware\n"
|
||||
</p>
|
||||
</dd>
|
||||
<dt class="hdlist1">
|
||||
ALL
|
||||
</dt>
|
||||
<dd>
|
||||
<p>
|
||||
This updates the eeprom, OOB, and main firmware";
|
||||
</p>
|
||||
</dd>
|
||||
</dl></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_examples">EXAMPLES</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="ulist"><ul>
|
||||
<li>
|
||||
<p>
|
||||
Update OOB and main firmware
|
||||
</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre><code># nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=OOB
|
||||
# nvme micron selective-download /dev/nvme0 -f firmware_bin -s OOB</code></pre>
|
||||
</div></div>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
Update OOB and main firmware
|
||||
</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre><code># nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=EEP
|
||||
# nvme micron selective-download /dev/nvme0 -f firmware_bin --s EEP</code></pre>
|
||||
</div></div>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
Update eeprom, OOB and main firmware
|
||||
</p>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre><code># nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=ALL
|
||||
# nvme micron selective-download /dev/nvme0 -f firmware_bin --s ALL</code></pre>
|
||||
</div></div>
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect1">
|
||||
<h2 id="_nvme">NVME</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p>Part of the nvme-user suite</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footnotes"><hr /></div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2019-12-19 21:49:53 DST
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
63
Documentation/nvme-micron-selective-download.txt
Normal file
63
Documentation/nvme-micron-selective-download.txt
Normal file
|
@ -0,0 +1,63 @@
|
|||
nvme-micron-selective-download(1)
|
||||
=================================
|
||||
|
||||
NAME
|
||||
----
|
||||
nvme-micron-selective-download - Performs selective firmware download that allows user
|
||||
to select which firmware binary to update for 9200 devices. This requires power cycle
|
||||
once the update completes.
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'nvme micron selective-download' <device> [--fw=<FILE>, -f <FILE>] [--select=<flag>, -s <flag>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This command uses micron vendor specific nvme commands to download given firmware image to the
|
||||
specified 9200 device to update selected or all portions of firmware image.
|
||||
|
||||
The <device> parameter is mandatory and may be either the NVMe
|
||||
character device (ex: /dev/nvme0), or a namespace block device (ex:
|
||||
/dev/nvme0n1).
|
||||
|
||||
This will only work on Micron devices devices of model number 9200. Support for new devices
|
||||
may be added subsequently. Results for any other device are undefined.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-f <FILE>::
|
||||
--fw=<FILE>::
|
||||
name of the firmware image file
|
||||
-s <flag>::
|
||||
--select=<flag>::
|
||||
flag that has following values
|
||||
OOB:: This updates the OOB and main firmware\n"
|
||||
EEP:: This updates the eeprom and main firmware\n"
|
||||
ALL:: This updates the eeprom, OOB, and main firmware";
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
* Update OOB and main firmware
|
||||
+
|
||||
------------
|
||||
# nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=OOB
|
||||
# nvme micron selective-download /dev/nvme0 -f firmware_bin -s OOB
|
||||
|
||||
------------
|
||||
* Update OOB and main firmware
|
||||
+
|
||||
------------
|
||||
# nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=EEP
|
||||
# nvme micron selective-download /dev/nvme0 -f firmware_bin --s EEP
|
||||
------------
|
||||
* Update eeprom, OOB and main firmware
|
||||
+
|
||||
------------
|
||||
# nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=ALL
|
||||
# nvme micron selective-download /dev/nvme0 -f firmware_bin --s ALL
|
||||
------------
|
||||
|
||||
NVME
|
||||
----
|
||||
Part of the nvme-user suite
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue