pax_global_header00006660000000000000000000000064135253274630014524gustar00rootroot0000000000000052 comment=977e7d4cf59c3c7f89e9c093c91f991b07292e45 nvme-cli-1.9/000077500000000000000000000000001352532746300131075ustar00rootroot00000000000000nvme-cli-1.9/.gitignore000066400000000000000000000003031352532746300150730ustar00rootroot00000000000000nvme *.xml a.out *.o *~ *.swp NVME-VERSION-FILE cscope.* /debian/files /debian/nvme-cli.debhelper.log /debian/nvme-cli.substvars /debian/nvme-cli tests/__pycache__ tests/nvmetests tests/*.pyc nvme-cli-1.9/CONTRIBUTING.md000066400000000000000000000014671352532746300153500ustar00rootroot00000000000000# Contributing to the NVM-e CLI Here you will find instructions on how to contribute to the NVM-Express command line interface. Contributions and new ideas are most welcome! **NOTE: If you do decide to implement code changes and contribute them, please make sure you agree your contribution can be made available under the [GPLv2-style License used for the NVMe CLI](https://github.com/linux-nvme/nvme-cli/blob/master/LICENSE).** ### Code Contributions Please feel free to use the github forums to ask for comments & questions on your code before submitting a pull request. The NVMe CLI project uses the common *fork and merge* workflow used by most GitHub-hosted projects. ### Bug Reports Bugs for the NVM Library project are tracked in our [GitHub Issues Database](https://github.com/linux-nvme/nvme-cli/issues). nvme-cli-1.9/Documentation/000077500000000000000000000000001352532746300157205ustar00rootroot00000000000000nvme-cli-1.9/Documentation/Makefile000066400000000000000000000137621352532746300173710ustar00rootroot00000000000000# Guard against environment variables MAN1_TXT = TECH_DOCS = ARTICLES = SP_ARTICLES = MAN1_TXT += $(filter-out \ $(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \ $(wildcard nvme-*.txt)) MAN1_TXT += nvme.txt MAN_TXT = $(MAN1_TXT) MAN_XML = $(patsubst %.txt,%.xml,$(MAN_TXT)) MAN_HTML = $(patsubst %.txt,%.html,$(MAN_TXT)) DOC_HTML = $(MAN_HTML) $(OBSOLETE_HTML) API_DOCS = SP_ARTICLES += $(API_DOCS) SP_ARTICLES += $(TECH_DOCS) DOC_MAN1 = $(patsubst %.txt,%.1,$(MAN1_TXT)) ASCIIDOC = asciidoc ASCIIDOC_EXTRA = ASCIIDOC_DOCBOOK = docbook ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK) MANPAGE_XSL = manpage-normal.xsl XMLTO = xmlto XMLTO_EXTRA = --skip-validation INSTALL ?= install RM ?= rm -f MAN_REPO = ../../nvme-manpages ASCIIDOC_HTML = xhtml11 ASCIIDOC_CONF = -f asciidoc.conf ifdef USE_ASCIIDOCTOR ASCIIDOC = asciidoctor ASCIIDOC_CONF = ASCIIDOC_HTML = xhtml5 ASCIIDOC_DOCBOOK = docbook5 ASCIIDOC_EXTRA += -acompat-mode ASCIIDOC_EXTRA += -I. -rasciidoctor-extensions ASCIIDOC_EXTRA += -alitdd='&\#x2d;&\#x2d;' ASCIIDOC_EXTRA += -amansource='NVMe' ASCIIDOC_EXTRA += -amanmanual='NVMe Manual' endif ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) TXT_TO_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML) MAKEINFO = makeinfo INSTALL_INFO = install-info DOCBOOK2X_TEXI = docbook2x-texi DBLATEX = dblatex ASCIIDOC_DBLATEX_DIR = /etc/asciidoc/dblatex ifndef PERL_PATH PERL_PATH = /usr/bin/perl endif ifdef DOCBOOK_XSL_172 MANPAGE_XSL = manpage-1.72.xsl else ifndef ASCIIDOC_ROFF endif endif ifdef MAN_BOLD_LITERAL XMLTO_EXTRA += -m manpage-bold-literal.xsl endif ifdef DOCBOOK_SUPPRESS_SP XMLTO_EXTRA += -m manpage-suppress-sp.xsl endif ifndef MAN_BASE_URL MAN_BASE_URL = file://$(htmldir)/ endif XMLTO_EXTRA += ifdef GNU_ROFF XMLTO_EXTRA += endif SHELL_PATH ?= $(SHELL) # Shell quote; SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) ifdef DEFAULT_PAGER DEFAULT_PAGER_SQ = $(subst ','\'',$(DEFAULT_PAGER)) endif ifdef DEFAULT_EDITOR DEFAULT_EDITOR_SQ = $(subst ','\'',$(DEFAULT_EDITOR)) endif QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir QUIET_SUBDIR1 = ifneq ($(findstring $(MAKEFLAGS),w),w) PRINT_DIR = --no-print-directory else # "make -w" NO_SUBDIR = : endif DESTDIR = PREFIX ?= /usr/local all: man html html: $(DOC_HTML) man: man1 man1: $(DOC_MAN1) install-no-build: $(INSTALL) -d -m 755 $(DESTDIR)$(PREFIX)/share/man/man1 $(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(PREFIX)/share/man/man1 install: install-man install-man: man $(INSTALL) -d -m 755 $(DESTDIR)$(PREFIX)/share/man/man1 $(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(PREFIX)/share/man/man1 docdep_prereqs = \ cmd-list.made $(cmds_txt) doc.dep : $(docdep_prereqs) $(wildcard *.txt) build-docdep.perl $(QUIET_GEN)$(RM) $@+ $@ && \ $(PERL_PATH) ./build-docdep.perl >$@+ $(QUIET_STDERR) && \ mv $@+ $@ -include doc.dep cmds_txt = cmds-ancillaryinterrogators.txt \ cmds-ancillarymanipulators.txt \ cmds-mainporcelain.txt \ cmds-plumbinginterrogators.txt \ cmds-plumbingmanipulators.txt \ cmds-synchingrepositories.txt \ cmds-synchelpers.txt \ cmds-purehelpers.txt \ cmds-foreignscminterface.txt $(cmds_txt): cmd-list.made cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT) $(QUIET_GEN)$(RM) $@ && \ $(PERL_PATH) ./cmd-list.perl ../command-list.txt $(QUIET_STDERR) && \ date >$@ clean: $(RM) *.xml *.xml+ *.html+ $(RM) *.texi *.texi+ *.texi++ nvme.info nvmeman.info $(RM) *.pdf $(RM) howto-index.txt howto/*.html doc.dep $(RM) technical/*.html technical/api-index.txt $(RM) $(cmds_txt) *.made $(RM) manpage-base-url.xsl $(RM) *~ clobber: clean $(RM) *.html *.1 %.1 : %.xml $(QUIET_XMLTO)$(RM) $@ && \ $(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $< %.xml : %.txt $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ $(TXT_TO_XML) -d manpage -o $@+ $< && \ mv $@+ $@ user-manual.xml: user-manual.txt user-manual.conf $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ $(TXT_TO_XML) -d article -o $@+ $< && \ mv $@+ $@ technical/api-index.txt: technical/api-index-skel.txt \ technical/api-index.sh $(patsubst %,%.txt,$(API_DOCS)) $(QUIET_GEN)cd technical && '$(SHELL_PATH_SQ)' ./api-index.sh XSLT = docbook.xsl XSLTOPTS = --xinclude --stringparam html.stylesheet docbook-xsl.css nvme.info: user-manual.texi $(QUIET_MAKEINFO)$(MAKEINFO) --no-split -o $@ user-manual.texi user-manual.texi: user-manual.xml $(QUIET_DB2TEXI)$(RM) $@+ $@ && \ $(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@++ && \ $(PERL_PATH) fix-texi.perl <$@++ >$@+ && \ rm $@++ && \ mv $@+ $@ user-manual.pdf: user-manual.xml $(QUIET_DBLATEX)$(RM) $@+ $@ && \ $(DBLATEX) -o $@+ -p $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.xsl -s $(ASCIIDOC_DBLATEX_DIR)/asciidoc-dblatex.sty $< && \ mv $@+ $@ nvmeman.texi: $(MAN_XML) cat-texi.perl $(QUIET_DB2TEXI)$(RM) $@+ $@ && \ ($(foreach xml,$(MAN_XML),$(DOCBOOK2X_TEXI) --encoding=UTF-8 \ --to-stdout $(xml) &&) true) > $@++ && \ $(PERL_PATH) cat-texi.perl $@ <$@++ >$@+ && \ rm $@++ && \ mv $@+ $@ nvmeman.info: nvmeman.texi $(QUIET_MAKEINFO)$(MAKEINFO) --no-split --no-validate $*.texi $(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml $(QUIET_DB2TEXI)$(RM) $@+ $@ && \ $(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@+ && \ mv $@+ $@ howto-index.txt: howto-index.sh $(wildcard howto/*.txt) $(QUIET_GEN)$(RM) $@+ $@ && \ '$(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(wildcard howto/*.txt)) >$@+ && \ mv $@+ $@ WEBDOC_DEST = /pub/software/scm/nvme/docs $(MAN_HTML): %.html : %.txt $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \ $(TXT_TO_HTML) -d manpage -o $@+ $< && \ mv $@+ $@ quick-install: quick-install-man $(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt $(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt install-webdoc : html '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST) require-manrepo:: @if test ! -d $(MAN_REPO); \ then echo "nvme-manpages repository must exist at $(MAN_REPO)"; exit 1; fi quick-install-man: require-manrepo '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(MAN_REPO) $(DESTDIR)$(mandir) print-man1: @for i in $(MAN1_TXT); do echo $$i; done .PHONY: FORCE nvme-cli-1.9/Documentation/asciidoc.conf000066400000000000000000000043371352532746300203540ustar00rootroot00000000000000## linknvme: macro # # Usage: linknvme:command[manpage-section] # # Note, {0} is the manpage section, while {target} is the command. # # Show Git link as: (
); if section is defined, else just show # the command. [macros] (?su)[\\]?(?Plinknvme):(?P\S*?)\[(?P.*?)\]= [attributes] asterisk=* plus=+ caret=^ startsb=[ endsb=] backslash=\ tilde=~ apostrophe=' backtick=` litdd=-- ifdef::backend-docbook[] [linknvme-inlinemacro] {0%{target}} {0#} {0#{target}{0}} {0#} endif::backend-docbook[] ifdef::backend-docbook[] ifndef::git-asciidoc-no-roff[] # "unbreak" docbook-xsl v1.68 for manpages. v1.69 works with or without this. # v1.72 breaks with this because it replaces dots not in roff requests. [listingblock] {title} | {title#} endif::git-asciidoc-no-roff[] ifdef::git-asciidoc-no-roff[] ifdef::doctype-manpage[] # The following two small workarounds insert a simple paragraph after screen [listingblock] {title} | {title#} [verseblock] {title} {title%} {title#} | {title#} {title%} endif::doctype-manpage[] endif::git-asciidoc-no-roff[] endif::backend-docbook[] ifdef::doctype-manpage[] ifdef::backend-docbook[] [header] template::[header-declarations] {mantitle} {manvolnum} NVMe {nvme_version} NVMe Manual {manname} {manpurpose} endif::backend-docbook[] endif::doctype-manpage[] ifdef::backend-xhtml11[] [attributes] git-relative-html-prefix= [linknvme-inlinemacro] {target}{0?({0})} endif::backend-xhtml11[] nvme-cli-1.9/Documentation/asciidoctor-extensions.rb000066400000000000000000000014601352532746300227460ustar00rootroot00000000000000require 'asciidoctor' require 'asciidoctor/extensions' module Nvme module Documentation class LinkNvmeProcessor < Asciidoctor::Extensions::InlineMacroProcessor use_dsl named :chrome def process(parent, target, attrs) if parent.document.basebackend? 'html' %(#{target}(#{attrs[1]})\n) elsif parent.document.basebackend? 'manpage' "#{target}(#{attrs[1]})" elsif parent.document.basebackend? 'docbook' "\n" \ "#{target}" \ "#{attrs[1]}\n" \ "\n" end end end end end Asciidoctor::Extensions.register do inline_macro Nvme::Documentation::LinkNvmeProcessor, :linknvme end nvme-cli-1.9/Documentation/cmds-main.txt000066400000000000000000000051231352532746300203320ustar00rootroot00000000000000linknvme:nvme-admin-passthru[1]:: Admin Passthrough Command linknvme:nvme-compare[1]:: IO Compare linknvme:nvme-error-log[1]:: Retrieve error logs linknvme:nvme-flush[1]:: Submit flush linknvme:nvme-dms[1]:: Submit Data Set Management linknvme:nvme-format[1]:: Format namespace(s) linknvme:nvme-fw-activate[1]:: F/W Activate linknvme:nvme-fw-download[1]:: F/W Download linknvme:nvme-fw-log[1]:: Retrieve f/w log linknvme:nvme-get-feature[1]:: Get Features linknvme:nvme-get-log[1]:: Generic Get Log linknvme:nvme-telemetry-log[1]:: Telemetry Host-Initiated Log linknvme:nvme-smart-log[1]:: Retrieve Smart Log linknvme:nvme-endurance-log[1]:: Retrieve endurance Log linknvme:nvme-effects-log[1]:: Retrieve effects Log linknvme:nvme-get-ns-id[1]:: Retrieve namespace identifier linknvme:nvme-help[1]:: NVMe CLI Help linknvme:nvme-id-ctrl[1]:: Identify Controller linknvme:nvme-id-ns[1]:: Identify Namespace linknvme:nvme-create-ns[1]:: Create a new namespace linknvme:nvme-delete-ns[1]:: Delete existing namespace linknvme:nvme-attach-ns[1]:: Attach namespace linknvme:nvme-detach-ns[1]:: Detach namespace linknvme:nvme-io-passthru[1]:: IO Passthrough Command linknvme:nvme-list-ns[1]:: List all nvme namespaces linknvme:nvme-ns-descs[1]:: Identify Namespace Identification Descriptor linknvme:nvme-list[1]:: List all nvme controllers linknvme:nvme-list-ctrl[1]:: List controller in NVMe subsystem linknvme:nvme-read[1]:: Issue IO Read Command linknvme:nvme-write[1]:: Issue IO Write Command linknvme:nvme-write-zeroes[1]:: Issue IO Write Zeroes Command linknvme:nvme-write-uncor[1]:: Issue IO Write Uncorrectable Command linknvme:nvme-resv-acquire[1]:: Acquire Namespace Reservation linknvme:nvme-resv-register[1]:: Register Namespace Reservation linknvme:nvme-resv-release[1]:: Release Namespace Reservation linknvme:nvme-resv-report[1]:: Report Reservation Capabilities linknvme:nvme-security-recv[1]:: Security Receive linknvme:nvme-security-send[1]:: Security Send linknvme:nvme-set-feature[1]:: Set Feature linknvme:nvme-show-regs[1]:: Show NVMe Controller Registers linknvme:nvme-discover[1]:: Send Get Log Page request to Discovery Controller linknvme:nvme-connect-all[1]:: Discover and connect to all NVMe-over-Fabrics subsystems linknvme:nvme-connect[1]:: Connect to an NVMe-over-Fabrics subsystem linknvme:nvme-disconnect[1]:: Disconnect from an NVMe-over-Fabrics subsystem linknvme:nvme-disconnect-all[1]:: Disconnect from all NVMe-over-Fabrics subsystems linknvme:nvme-get-property[1]:: Reads and shows NVMe-over-Fabrics controller property nvme-cli-1.9/Documentation/install-webdoc.sh000077500000000000000000000013651352532746300211730ustar00rootroot00000000000000#!/bin/sh T="$1" for h in \ *.txt *.html \ howto/*.txt howto/*.html \ technical/*.txt technical/*.html \ RelNotes/*.txt *.css do if test ! -f "$h" then : did not match elif test -f "$T/$h" && $DIFF -u -I'^Last updated ' "$T/$h" "$h" then :; # up to date else echo >&2 "# install $h $T/$h" rm -f "$T/$h" mkdir -p $(dirname "$T/$h") cp "$h" "$T/$h" fi done strip_leading=$(echo "$T/" | sed -e 's|.|.|g') for th in \ "$T"/*.html "$T"/*.txt \ "$T"/howto/*.txt "$T"/howto/*.html \ "$T"/technical/*.txt "$T"/technical/*.html do h=$(expr "$th" : "$strip_leading"'\(.*\)') case "$h" in RelNotes-*.txt | index.html) continue ;; esac test -f "$h" && continue echo >&2 "# rm -f $th" rm -f "$th" done ln -sf git.html "$T/index.html" nvme-cli-1.9/Documentation/manpage-base.xsl000066400000000000000000000022601352532746300207700ustar00rootroot00000000000000 sp br nvme-cli-1.9/Documentation/manpage-normal.xsl000066400000000000000000000007351352532746300213530ustar00rootroot00000000000000 \ . nvme-cli-1.9/Documentation/nvme-admin-passthru.1000066400000000000000000000127221352532746300217100ustar00rootroot00000000000000'\" t .\" Title: nvme-admin-passthru .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-ADMIN\-PASSTHR" "1" "04/08/2019" "NVMe" "NVMe Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" nvme-admin-passthru \- Submit an arbitrary admin command, return results .SH "SYNOPSIS" .sp .nf \fInvme\-admin\-passthru\fR [\-\-opcode= | \-o ] [\-\-flags= | \-f ] [\-rsvd= | \-R ] [\-\-namespace\-id=] [\-\-cdw2=] [\-\-cdw3=] [\-\-cdw10=] [\-\-cdw11=] [\-\-cdw12=] [\-\-cdw13=] [\-\-cdw14=] [\-\-cdw15=] [\-\-data\-len= | \-l ] [\-\-metadata\-len= | \-m ] [\-\-input\-file= | \-f ] [\-\-read | \-r ] [\-\-write | \-w] [\-\-timeout= | \-t ] [\-\-show\-command | \-s] [\-\-dry\-run | \-d] [\-\-raw\-binary | \-b] [\-\-prefill= | \-p ] .fi .SH "DESCRIPTION" .sp Submits an arbitrary NVMe admin command and returns the applicable results\&. This may be the simply the commands result and status, or may also include a buffer if the command returns one\&. This command does no interpretation of the opcodes or options\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned structure (if applicable) may be returned in one of several ways depending on the option flags; the structure may printed by the program as a hex dump, or may be returned as a raw buffer printed to stdout for another program to parse\&. .SH "OPTIONS" .PP \-o , \-\-opcode= .RS 4 The NVMe opcode to send to the device in the command .RE .PP \-f , \-\-flags= .RS 4 The NVMe command flags to send to the device in the command .RE .PP \-R , \-\-rsvd= .RS 4 The value for the reserved field in the command\&. .RE .PP \-n , \-\-namespace\-id= .RS 4 The value for the ns\-id in the command\&. .RE .PP \-\-cdw[2\-3,10\-15]= .RS 4 Specifies the command dword value for that specified entry in the command .RE .PP \-r, \-\-read, \-w, \-\-write .RS 4 Used for the data\-direction for the command and required for commands sending/receiving data\&. Don\(cqt use both read and write at the same time\&. .RE .PP \-i , \-\-input\-file= .RS 4 If the command is a data\-out (write) command, use this file to fill the buffer sent to the device\&. If no file is given, assumed to use STDIN\&. .RE .PP \-l , \-\-data\-len= .RS 4 The data length for the buffer used for this command\&. .RE .PP \-m , \-\-metadata\-len= .RS 4 The metadata length for the buffer used for this command\&. .RE .PP \-s, \-\-show\-cmd .RS 4 Print out the command to be sent\&. .RE .PP \-d, \-\-dry\-run .RS 4 Do not actually send the command\&. If want to use \-\-dry\-run option, \-\-show\-cmd option \fImust\fR be set\&. Otherwise \-\-dry\-run option will be \fIignored\fR\&. .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw returned buffer to stdout if the command returns a structure\&. .RE .PP \-p, \-\-prefill .RS 4 Prefill the buffer with a predetermined byte value\&. Defaults to 0\&. This may be useful if the data you are writing is shorter than the required buffer, and you need to pad it with a known value\&. It may also be useful if you need to confirm if a device is overwriting a buffer for a data\-in command\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} The following will run the admin command with opcode=6 and cdw10=1, which corresponds to an identify controller command\&. This example requires the data\-len param be 4096, which is the size of the returned structure\&. The \-r option is used because it is a data\-in command .sp .if n \{\ .RS 4 .\} .nf # nvme admin\-passthru /dev/nvme0 \-\-opcode=06 \-\-data\-len=4096 \-\-cdw10=1 \-r .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Or if you want to save that structure to a file: .sp .if n \{\ .RS 4 .\} .nf # nvme admin\-passthru /dev/nvme0 \-\-opcode=06 \-\-data\-len=4096 \-\-cdw10=1 \-r \-b > id_ns\&.raw .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-admin-passthru.html000066400000000000000000000545421352532746300225220ustar00rootroot00000000000000 nvme-admin-passthru(1)

SYNOPSIS

nvme-admin-passthru <device> [--opcode=<opcode> | -o <opcode>]
                [--flags=<flags> | -f <flags>] [-rsvd=<rsvd> | -R <rsvd>]
                [--namespace-id=<nsid>] [--cdw2=<cdw2>] [--cdw3=<cdw3>]
                [--cdw10=<cdw10>] [--cdw11=<cdw11>] [--cdw12=<cdw12>]
                [--cdw13=<cdw13>] [--cdw14=<cdw14>] [--cdw15=<cdw15>]
                [--data-len=<data-len> | -l <data-len>]
                [--metadata-len=<len> | -m <len>]
                [--input-file=<file> | -f <file>]
                [--read | -r ] [--write | -w]
                [--timeout=<to> | -t <to>]
                [--show-command | -s]
                [--dry-run | -d]
                [--raw-binary | -b]
                [--prefill=<prefill> | -p <prefill>]

DESCRIPTION

Submits an arbitrary NVMe admin command and returns the applicable results. This may be the simply the commands result and status, or may also include a buffer if the command returns one. This command does no interpretation of the opcodes or options.

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 structure (if applicable) may be returned in one of several ways depending on the option flags; the structure may printed by the program as a hex dump, or may be returned as a raw buffer printed to stdout for another program to parse.

OPTIONS

-o <opcode>
--opcode=<opcode>

The NVMe opcode to send to the device in the command

-f <flags>
--flags=<flags>

The NVMe command flags to send to the device in the command

-R <rsvd>
--rsvd=<rsvd>

The value for the reserved field in the command.

-n <nsid>
--namespace-id=<nsid>

The value for the ns-id in the command.

--cdw[2-3,10-15]=<cdw>

Specifies the command dword value for that specified entry in the command

-r
--read
-w
--write

Used for the data-direction for the command and required for commands sending/receiving data. Don’t use both read and write at the same time.

-i <file>
--input-file=<file>

If the command is a data-out (write) command, use this file to fill the buffer sent to the device. If no file is given, assumed to use STDIN.

-l <data-len>
--data-len=<data-len>

The data length for the buffer used for this command.

-m <data-len>
--metadata-len=<data-len>

The metadata length for the buffer used for this command.

-s
--show-cmd

Print out the command to be sent.

-d
--dry-run

Do not actually send the command. If want to use --dry-run option, --show-cmd option must be set. Otherwise --dry-run option will be ignored.

-b
--raw-binary

Print the raw returned buffer to stdout if the command returns a structure.

-p
--prefill

Prefill the buffer with a predetermined byte value. Defaults to 0. This may be useful if the data you are writing is shorter than the required buffer, and you need to pad it with a known value. It may also be useful if you need to confirm if a device is overwriting a buffer for a data-in command.

EXAMPLES

  • The following will run the admin command with opcode=6 and cdw10=1, which corresponds to an identify controller command. This example requires the data-len param be 4096, which is the size of the returned structure. The -r option is used because it is a data-in command

    # nvme admin-passthru /dev/nvme0 --opcode=06 --data-len=4096 --cdw10=1 -r
  • Or if you want to save that structure to a file:

    # nvme admin-passthru /dev/nvme0 --opcode=06 --data-len=4096 --cdw10=1 -r -b > id_ns.raw

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-admin-passthru.txt000066400000000000000000000071311352532746300223650ustar00rootroot00000000000000nvme-admin-passthru(1) ====================== NAME ---- nvme-admin-passthru - Submit an arbitrary admin command, return results SYNOPSIS -------- [verse] 'nvme-admin-passthru' [--opcode= | -o ] [--flags= | -f ] [-rsvd= | -R ] [--namespace-id=] [--cdw2=] [--cdw3=] [--cdw10=] [--cdw11=] [--cdw12=] [--cdw13=] [--cdw14=] [--cdw15=] [--data-len= | -l ] [--metadata-len= | -m ] [--input-file= | -f ] [--read | -r ] [--write | -w] [--timeout= | -t ] [--show-command | -s] [--dry-run | -d] [--raw-binary | -b] [--prefill= | -p ] DESCRIPTION ----------- Submits an arbitrary NVMe admin command and returns the applicable results. This may be the simply the commands result and status, or may also include a buffer if the command returns one. This command does no interpretation of the opcodes or options. The 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 structure (if applicable) may be returned in one of several ways depending on the option flags; the structure may printed by the program as a hex dump, or may be returned as a raw buffer printed to stdout for another program to parse. OPTIONS ------- -o :: --opcode=:: The NVMe opcode to send to the device in the command -f :: --flags=:: The NVMe command flags to send to the device in the command -R :: --rsvd=:: The value for the reserved field in the command. -n :: --namespace-id=:: The value for the ns-id in the command. --cdw[2-3,10-15]=:: Specifies the command dword value for that specified entry in the command -r:: --read:: -w:: --write:: Used for the data-direction for the command and required for commands sending/receiving data. Don't use both read and write at the same time. -i :: --input-file=:: If the command is a data-out (write) command, use this file to fill the buffer sent to the device. If no file is given, assumed to use STDIN. -l :: --data-len=:: The data length for the buffer used for this command. -m :: --metadata-len=:: The metadata length for the buffer used for this command. -s:: --show-cmd:: Print out the command to be sent. -d:: --dry-run:: Do not actually send the command. If want to use --dry-run option, --show-cmd option _must_ be set. Otherwise --dry-run option will be _ignored_. -b:: --raw-binary:: Print the raw returned buffer to stdout if the command returns a structure. -p:: --prefill:: Prefill the buffer with a predetermined byte value. Defaults to 0. This may be useful if the data you are writing is shorter than the required buffer, and you need to pad it with a known value. It may also be useful if you need to confirm if a device is overwriting a buffer for a data-in command. EXAMPLES -------- * The following will run the admin command with opcode=6 and cdw10=1, which corresponds to an identify controller command. This example requires the data-len param be 4096, which is the size of the returned structure. The -r option is used because it is a data-in command + ------------ # nvme admin-passthru /dev/nvme0 --opcode=06 --data-len=4096 --cdw10=1 -r ------------ + * Or if you want to save that structure to a file: + ------------ # nvme admin-passthru /dev/nvme0 --opcode=06 --data-len=4096 --cdw10=1 -r -b > id_ns.raw ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-ana-log.1000066400000000000000000000044701352532746300202700ustar00rootroot00000000000000'\" t .\" Title: nvme-ana-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-ANA\-LOG" "1" "04/08/2019" "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-ana-log \- Send NVMe ANA log page request, returns result and log .SH "SYNOPSIS" .sp .nf \fInvme ana\-log\fR [\-o | \-\-output\-format=] .fi .SH "DESCRIPTION" .sp Retrieves the NVMe Asymmetric Namespace Access log page from an NVMe device and provides the returned structure\&. .sp The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. .sp On success, the returned ANA 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 or the raw buffer may be printed to stdout for another program to parse\&. .SH "OPTIONS" .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Print the ANA log page in a human readable format: .RE .sp .if n \{\ .RS 4 .\} .nf # nvme ana\-log /dev/nvme0 .fi .if n \{\ .RE .\} .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-ana-log.html000066400000000000000000000440321352532746300210720ustar00rootroot00000000000000 nvme-ana-log(1)

SYNOPSIS

nvme ana-log <device> [-o <fmt> | --output-format=<fmt>]

DESCRIPTION

Retrieves the NVMe Asymmetric Namespace Access log page from an NVMe device and provides the returned structure.

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

On success, the returned ANA 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 or the raw buffer may be printed to stdout for another program to parse.

OPTIONS

-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 ANA log page in a human readable format:

# nvme ana-log /dev/nvme0

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-ana-log.txt000066400000000000000000000020051352532746300207370ustar00rootroot00000000000000nvme-ana-log(1) =============== NAME ---- nvme-ana-log - Send NVMe ANA log page request, returns result and log SYNOPSIS -------- [verse] 'nvme ana-log' [-o | --output-format=] DESCRIPTION ----------- Retrieves the NVMe Asymmetric Namespace Access log page from an NVMe device and provides the returned structure. The parameter is mandatory NVMe character device (ex: /dev/nvme0). On success, the returned ANA 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 or the raw buffer may be printed to stdout for another program to parse. OPTIONS ------- -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- * Print the ANA log page in a human readable format: ------------ # nvme ana-log /dev/nvme0 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-attach-ns.1000066400000000000000000000037301352532746300206320ustar00rootroot00000000000000'\" t .\" Title: nvme-attach-ns .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-ATTACH\-NS" "1" "01/08/2019" "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-attach-ns \- Send NVMe attach namespace, return result\&. .SH "SYNOPSIS" .sp .nf \fInvme attach\-ns\fR [\-\-namespace\-id= | \-n ] [\-\-controllers= | \-c ] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends the nvme namespace attach command for the provided namespace identifier, attaching to the provided list of controller identifiers\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 The namespace identifier to attach\&. .RE .PP \-c , \-controllers= .RS 4 The comma separated list of controller identifiers to attach the namesapce too\&. .RE .SH "EXAMPLES" .sp No examples yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-attach-ns.html000066400000000000000000000433061352532746300214410ustar00rootroot00000000000000 nvme-attach-ns(1)

SYNOPSIS

nvme attach-ns <device> [--namespace-id=<nsid> | -n <nsid>]
                        [--controllers=<ctrl-list,> | -c <ctrl-list,>]

DESCRIPTION

For the NVMe device given, sends the nvme namespace attach command for the provided namespace identifier, attaching to the provided list of controller identifiers.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

The namespace identifier to attach.

-c <ctrl-list,>
-controllers=<ctrl-list,>

The comma separated list of controller identifiers to attach the namesapce too.

EXAMPLES

No examples yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-attach-ns.txt000066400000000000000000000013311352532746300213040ustar00rootroot00000000000000nvme-attach-ns(1) ================= NAME ---- nvme-attach-ns - Send NVMe attach namespace, return result. SYNOPSIS -------- [verse] 'nvme attach-ns' [--namespace-id= | -n ] [--controllers= | -c ] DESCRIPTION ----------- For the NVMe device given, sends the nvme namespace attach command for the provided namespace identifier, attaching to the provided list of controller identifiers. OPTIONS ------- -n :: --namespace-id=:: The namespace identifier to attach. -c :: -controllers=:: The comma separated list of controller identifiers to attach the namesapce too. EXAMPLES -------- No examples yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-changed-ns-list-log.1000066400000000000000000000056201352532746300225070ustar00rootroot00000000000000'\" t .\" Title: nvme-changed-ns-list-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-CHANGED\-NS\-L" "1" "04/08/2019" "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-changed-ns-list-log \- Send NVMe Changed Namespace List log page request, returns result and log\&. .SH "SYNOPSIS" .sp .nf \fInvme changed\-ns\-list\-log\fR [\-\-raw\-binary | \-b] [\-\-output\-format= | \-o ] .fi .SH "DESCRIPTION" .sp Retrieves the NVMe Changed Namespace List log page from an NVMe device and provides the returned structure\&. .sp The parameter is mandatory and must be a NVMe character device (ex: /dev/nvme0)\&. .sp On success, the returned Changed Namespace List 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 or the raw buffer may be printed to stdout for another program to parse\&. .SH "OPTIONS" .PP \-b, \-\-raw\-binary .RS 4 Print the raw Changed Namespace List log buffer to stdout\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Print the Changed Namespace List Log page in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme changed\-ns\-list\-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 Changed Namespace List log to a file: .sp .if n \{\ .RS 4 .\} .nf # nvme changed\-ns\-list\-log /dev/nvme0 \-\-raw\-binary > 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 nvme-cli-1.9/Documentation/nvme-changed-ns-list-log.html000066400000000000000000000455071352532746300233230ustar00rootroot00000000000000 nvme-changed-ns-list-log(1)

SYNOPSIS

nvme changed-ns-list-log <device> [--raw-binary | -b]
                        [--output-format=<fmt> | -o <fmt>]

DESCRIPTION

Retrieves the NVMe Changed Namespace List log page from an NVMe device and provides the returned structure.

The <device> parameter is mandatory and must be a NVMe character device (ex: /dev/nvme0).

On success, the returned Changed Namespace List 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 or the raw buffer may be printed to stdout for another program to parse.

OPTIONS

-b
--raw-binary

Print the raw Changed Namespace List log buffer to stdout.

-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 Changed Namespace List Log page in a human readable format:

    # nvme changed-ns-list-log /dev/nvme0
  • Print the raw Changed Namespace List log to a file:

    # nvme changed-ns-list-log /dev/nvme0 --raw-binary > log.raw

    It is probably a bad idea to not redirect stdout when using this mode.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-changed-ns-list-log.txt000066400000000000000000000027431352532746300231710ustar00rootroot00000000000000nvme-changed-ns-list-log(1) =========================== NAME ---- nvme-changed-ns-list-log - Send NVMe Changed Namespace List log page request, returns result and log. SYNOPSIS -------- [verse] 'nvme changed-ns-list-log' [--raw-binary | -b] [--output-format= | -o ] DESCRIPTION ----------- Retrieves the NVMe Changed Namespace List log page from an NVMe device and provides the returned structure. The parameter is mandatory and must be a NVMe character device (ex: /dev/nvme0). On success, the returned Changed Namespace List 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 or the raw buffer may be printed to stdout for another program to parse. OPTIONS ------- -b:: --raw-binary:: Print the raw Changed Namespace List log buffer to stdout. -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- * Print the Changed Namespace List Log page in a human readable format: + ------------ # nvme changed-ns-list-log /dev/nvme0 ------------ + * Print the raw Changed Namespace List log to a file: + ------------ # nvme changed-ns-list-log /dev/nvme0 --raw-binary > log.raw ------------ + It is probably a bad idea to not redirect stdout when using this mode. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-compare.1000066400000000000000000000136311352532746300203770ustar00rootroot00000000000000'\" t .\" Title: nvme-compare .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-COMPARE" "1" "04/08/2019" "NVMe" "NVMe Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" nvme-compare \- Send an NVMe Compare command, provide results .SH "SYNOPSIS" .sp .nf \fInvme\-compare\fR [\-\-start\-block= | \-s ] [\-\-block\-count= | \-c ] [\-\-data\-size= | \-z ] [\-\-metadata\-size= | \-y ] [\-\-ref\-tag= | \-r ] [\-\-data= | \-d ] [\-\-metadata= | \-M ] [\-\-prinfo= | \-p ] [\-\-app\-tag\-mask= | \-m ] [\-\-app\-tag= | \-a ] [\-\-limited\-retry | \-l] [\-\-force\-unit\-access | \-f] [\-\-dir\-type= | \-T ] [\-\-dir\-spec= | \-S ] [\-\-dsm= | \-D ] [\-\-show\-command | \-v] [\-\-dry\-run | \-w] [\-\-latency | \-t] .fi .SH "DESCRIPTION" .sp The Compare command reads the logical blocks specified by the command from the medium and compares the data read to a comparison data buffer transferred as part of the command\&. If the data read from the controller and the comparison data buffer are equivalent with no miscompares, then the command completes successfully\&. If there is any miscompare, the command completes with an error of Compare Failure\&. If metadata is provided, then a comparison is also performed for the metadata\&. .SH "OPTIONS" .PP \-s , \-\-start\-block= .RS 4 64\-bit address of the first block to access\&. .RE .PP \-c , \-\-block\-count= .RS 4 Number of blocks to be accessed (zero\-based)\&. .RE .PP \-z , \-\-data\-size= .RS 4 Size of data to be compared in bytes\&. .RE .PP \-y , \-\-metadata\-size= .RS 4 Size of metadata to be trasnferred in bytes\&. .RE .PP \-r , \-\-ref\-tag= .RS 4 Reference Tag for Protection Information .RE .PP \-d , \-\-data= .RS 4 Data file\&. .RE .PP \-M , \-\-metadata= .RS 4 Metadata file\&. .RE .PP \-p , \-\-prinfo= .RS 4 Protection Information and check field\&. .RE .sp + .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt lt lt. T{ .sp Bit T}:T{ .sp Description T} T{ .sp 3 T}:T{ .sp PRACT: Protection Information Action\&. When set to 1, PI is stripped/inserted on read/write when the block format\(cqs metadata size is 8\&. When set to 0, metadata is passes\&. T} T{ .sp 2:0 T}:T{ .sp PRCHK: Protection Information Check: T} T{ .sp 2 T}:T{ .sp Set to 1 enables checking the guard tag T} T{ .sp 1 T}:T{ .sp Set to 1 enables checking the application tag T} T{ .sp 0 T}:T{ .sp Set to 1 enables checking the reference tag T} .TE .sp 1 .PP \-m , \-\-app\-tag\-mask= .RS 4 App Tag Mask for Protection Information .RE .PP \-a , \-\-app\-tag= .RS 4 App Tag for Protection Information .RE .PP \-l, \-\-limited\-retry .RS 4 Number of limited attempts to media\&. .RE .PP \-f, \-\-force\-unit\-access .RS 4 FUA option to guarantee that data is stored to media\&. .RE .PP \-T , \-\-dir\-type= .RS 4 Optional directive type\&. The nvme\-cli only enforces the value be in the defined range for the directive type, though the NVMe specifcation (1\&.3a) defines only one directive, 01h, for write stream idenfiers\&. .RE .PP \-S , \-\-dir\-spec= .RS 4 Optional field for directive specifics\&. When used with write streams, this value is defined to be the write stream identifier\&. The nvme\-cli will not validate the stream requested is within the controller\(cqs capabilities\&. .RE .PP \-D , \-\-dsm= .RS 4 The optional data set management attributes for this command\&. The argument for this is the lower 16 bits of the DSM field in a write command; the upper 16 bits of the field come from the directive specific field, if used\&. This may be used to set attributes for the LBAs being written, like access frequency, type, latency, among other things, as well as yet to be defined types\&. Please consult the NVMe specification for detailed breakdown of how to use this field\&. .RE .PP \-v, \-\-show\-cmd .RS 4 Print out the command to be sent\&. .RE .PP \-w, \-\-dry\-run .RS 4 Do not actually send the command\&. If want to use \-\-dry\-run option, \-\-show\-cmd option \fImust\fR be set\&. Otherwise \-\-dry\-run option will be \fIignored\fR\&. .RE .PP \-t, \-\-latency .RS 4 Print out the latency the IOCTL took (in us)\&. .RE .SH "EXAMPLES" .sp No examples yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-compare.html000066400000000000000000000576231352532746300212140ustar00rootroot00000000000000 nvme-compare(1)

SYNOPSIS

nvme-compare <device> [--start-block=<slba> | -s <slba>]
                        [--block-count=<nlb> | -c <nlb>]
                        [--data-size=<size> | -z <size>]
                        [--metadata-size=<metasize> | -y <metasize>]
                        [--ref-tag=<reftag> | -r <reftag>]
                        [--data=<data-file> | -d <data-file>]
                        [--metadata=<meta> | -M <meta>]
                        [--prinfo=<prinfo> | -p <prinfo>]
                        [--app-tag-mask=<appmask> | -m <appmask>]
                        [--app-tag=<apptag> | -a <apptag>]
                        [--limited-retry | -l]
                        [--force-unit-access | -f]
                        [--dir-type=<type> | -T <type>]
                        [--dir-spec=<spec> | -S <spec>]
                        [--dsm=<dsm> | -D <dsm>]
                        [--show-command | -v]
                        [--dry-run | -w]
                        [--latency | -t]

DESCRIPTION

The Compare command reads the logical blocks specified by the command from the medium and compares the data read to a comparison data buffer transferred as part of the command. If the data read from the controller and the comparison data buffer are equivalent with no miscompares, then the command completes successfully. If there is any miscompare, the command completes with an error of Compare Failure. If metadata is provided, then a comparison is also performed for the metadata.

OPTIONS

-s <slba>
--start-block=<slba>

64-bit address of the first block to access.

-c <nlb>
--block-count=<nlb>

Number of blocks to be accessed (zero-based).

-z <size>
--data-size=<size>

Size of data to be compared in bytes.

-y <metasize>
--metadata-size=<metasize>

Size of metadata to be trasnferred in bytes.

-r <reftag>
--ref-tag=<regtag>

Reference Tag for Protection Information

-d <data-file>
--data=<data-file>

Data file.

-M <meta>
--metadata=<meta>

Metadata file.

-p <prinfo>
--prinfo=<prinfo>

Protection Information and check field.

+

Bit

Description

3

PRACT: Protection Information Action. When set to 1, PI is stripped/inserted on read/write when the block format’s metadata size is 8. When set to 0, metadata is passes.

2:0

PRCHK: Protection Information Check:

2

Set to 1 enables checking the guard tag

1

Set to 1 enables checking the application tag

0

Set to 1 enables checking the reference tag

-m <appmask>
--app-tag-mask=<appmask>

App Tag Mask for Protection Information

-a <apptag>
--app-tag=<apptag>

App Tag for Protection Information

-l
--limited-retry

Number of limited attempts to media.

-f
--force-unit-access

FUA option to guarantee that data is stored to media.

-T <type>
--dir-type=<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.

-S <spec>
--dir-spec=<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.

-D <dsm>
--dsm=<dsm>

The optional data set management attributes for this command. The argument for this is the lower 16 bits of the DSM field in a write command; the upper 16 bits of the field come from the directive specific field, if used. This may be used to set attributes for the LBAs being written, like access frequency, type, latency, among other things, as well as yet to be defined types. Please consult the NVMe specification for detailed breakdown of how to use this field.

-v
--show-cmd

Print out the command to be sent.

-w
--dry-run

Do not actually send the command. If want to use --dry-run option, --show-cmd option must be set. Otherwise --dry-run option will be ignored.

-t
--latency

Print out the latency the IOCTL took (in us).

EXAMPLES

No examples yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-compare.txt000066400000000000000000000075551352532746300210660ustar00rootroot00000000000000nvme-compare(1) =============== NAME ---- nvme-compare - Send an NVMe Compare command, provide results SYNOPSIS -------- [verse] 'nvme-compare' [--start-block= | -s ] [--block-count= | -c ] [--data-size= | -z ] [--metadata-size= | -y ] [--ref-tag= | -r ] [--data= | -d ] [--metadata= | -M ] [--prinfo= | -p ] [--app-tag-mask= | -m ] [--app-tag= | -a ] [--limited-retry | -l] [--force-unit-access | -f] [--dir-type= | -T ] [--dir-spec= | -S ] [--dsm= | -D ] [--show-command | -v] [--dry-run | -w] [--latency | -t] DESCRIPTION ----------- The Compare command reads the logical blocks specified by the command from the medium and compares the data read to a comparison data buffer transferred as part of the command. If the data read from the controller and the comparison data buffer are equivalent with no miscompares, then the command completes successfully. If there is any miscompare, the command completes with an error of Compare Failure. If metadata is provided, then a comparison is also performed for the metadata. OPTIONS ------- -s :: --start-block=:: 64-bit address of the first block to access. -c :: --block-count=:: Number of blocks to be accessed (zero-based). -z :: --data-size=:: Size of data to be compared in bytes. -y :: --metadata-size=:: Size of metadata to be trasnferred in bytes. -r :: --ref-tag=:: Reference Tag for Protection Information -d :: --data=:: Data file. -M :: --metadata=:: Metadata file. -p :: --prinfo=:: Protection Information and check field. + [] |================= |Bit|Description |3|PRACT: Protection Information Action. When set to 1, PI is stripped/inserted on read/write when the block format's metadata size is 8. When set to 0, metadata is passes. |2:0|PRCHK: Protection Information Check: |2|Set to 1 enables checking the guard tag |1|Set to 1 enables checking the application tag |0|Set to 1 enables checking the reference tag |================= -m :: --app-tag-mask=:: App Tag Mask for Protection Information -a :: --app-tag=:: App Tag for Protection Information -l:: --limited-retry:: Number of limited attempts to media. -f:: --force-unit-access:: FUA option to guarantee that data is stored to media. -T :: --dir-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. -S :: --dir-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. -D :: --dsm=:: The optional data set management attributes for this command. The argument for this is the lower 16 bits of the DSM field in a write command; the upper 16 bits of the field come from the directive specific field, if used. This may be used to set attributes for the LBAs being written, like access frequency, type, latency, among other things, as well as yet to be defined types. Please consult the NVMe specification for detailed breakdown of how to use this field. -v:: --show-cmd:: Print out the command to be sent. -w:: --dry-run:: Do not actually send the command. If want to use --dry-run option, --show-cmd option _must_ be set. Otherwise --dry-run option will be _ignored_. -t:: --latency:: Print out the latency the IOCTL took (in us). EXAMPLES -------- No examples yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-connect-all.1000066400000000000000000000166461352532746300211610ustar00rootroot00000000000000'\" t .\" Title: nvme-connect-all .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 08/15/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-CONNECT\-ALL" "1" "08/15/2019" "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-connect-all \- Discover and Connect to Fabrics controllers\&. .SH "SYNOPSIS" .sp .nf \fInvme connect\-all\fR [\-\-transport= | \-t ] [\-\-traddr= | \-a ] [\-\-trsvcid= | \-s ] [\-\-host\-traddr= | \-w ] [\-\-hostnqn= | \-q ] [\-\-hostid= | \-I ] [\-\-raw= | \-r ] [\-\-keep\-alive\-tmo=<#> | \-k <#>] [\-\-reconnect\-delay=<#> | \-c <#>] [\-\-ctrl\-loss\-tmo=<#> | \-l <#>] [\-\-hdr_digest | \-g] [\-\-data_digest | \-G] [\-\-nr\-io\-queues=<#> | \-i <#>] [\-\-nr\-write\-queues=<#> | \-W <#>] [\-\-nr\-poll\-queues=<#> | \-P <#>] [\-\-queue\-size=<#> | \-Q <#>] .fi .SH "DESCRIPTION" .sp Send one or more Discovery requests to a NVMe over Fabrics Discovery Controller, and create controllers for the returned discovery records\&. .sp If no parameters are given, then \fInvme connect\-all\fR will attempt to find a /etc/nvme/discovery\&.conf file to use to supply a list of connect\-all commands to run\&. If no /etc/nvme/discovery\&.conf file exists, the command will quit with an error\&. .sp Otherwise a specific Discovery Controller should be specified using the \-\-transport, \-\-traddr and if necessary the \-\-trsvcid and a Diѕcovery request will be sent to the specified Discovery Controller\&. .sp See the documentation for the nvme\-discover(1) command for further background\&. .SH "OPTIONS" .PP \-t , \-\-transport= .RS 4 This field specifies the network fabric being used for a NVMe\-over\-Fabrics network\&. Current string values include: .TS allbox tab(:); lt lt lt lt lt lt lt lt. T{ Value T}:T{ Definition T} T{ rdma T}:T{ The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc) T} T{ fc T}:T{ \fBWIP\fR The network fabric is a Fibre Channel network\&. T} T{ loop T}:T{ Connect to a NVMe over Fabrics target on the local host T} .TE .sp 1 .RE .PP \-a , \-\-traddr= .RS 4 This field specifies the network address of the Discovery Controller\&. For transports using IP addressing (e\&.g\&. rdma) this should be an IP\-based address (ex\&. IPv4)\&. .RE .PP \-s , \-\-trsvcid= .RS 4 This field specifies the transport service id\&. For transports using IP addressing (e\&.g\&. rdma) this field is the port number\&. By default, the IP port number for the RDMA transport is 4420\&. .RE .PP \-w , \-\-host\-traddr= .RS 4 This field specifies the network address used on the host to connect to the Discovery Controller\&. .RE .PP \-q , \-\-hostnqn= .RS 4 Overrides the default Host NQN that identifies the NVMe Host\&. If this option is not specified, the default is read from /etc/nvme/hostnqn first\&. If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next\&. The Host NQN uniquely identifies the NVMe Host, and may be used by the the Discovery Controller to control what NVMe Target resources are allocated to the NVMe Host for a connection\&. .RE .PP \-I , \-\-hostid= .RS 4 UUID(Universally Unique Identifier) to be discovered which should be formatted\&. .RE .PP \-r , \-\-raw= .RS 4 This field will take the output of the \fInvme connect\-all\fR command and dump it to a raw binary file\&. By default \fInvme connect\-all\fR will dump the output to stdout\&. .RE .PP \-k <#>, \-\-keep\-alive\-tmo=<#> .RS 4 Overrides the default keep alive timeout (in seconds)\&. This option will be ignored for discovery, but will be passed on to the subsequent connect call\&. .RE .PP \-c <#>, \-\-reconnect\-delay=<#> .RS 4 Overrides the default delay (in seconds) before reconnect is attempted after a connect loss\&. .RE .PP \-l <#>, \-\-ctrl\-loss\-tmo=<#> .RS 4 Overrides the default controller loss timeout period (in seconds)\&. .RE .PP \-g, \-\-hdr_digest .RS 4 Generates/verifies header digest (TCP)\&. .RE .PP \-G, \-\-data_digest .RS 4 Generates/verifies data digest (TCP)\&. .RE .PP \-i <#>, \-\-nr\-io\-queues=<#> .RS 4 Overrides the default number of I/O queues create by the driver\&. This option will be ignored for discovery, but will be passed on to the subsequent connect call\&. .RE .PP \-W <#>, \-\-nr\-write\-queues=<#> .RS 4 Adds additional queues that will be used for write I/O\&. .RE .PP \-P <#>, \-\-nr\-poll\-queues=<#> .RS 4 Adds additional queues that will be used for polling latency sensitive I/O\&. .RE .PP \-Q <#>, \-\-queue\-size=<#> .RS 4 Overrides the default number of elements in the I/O queues created by the driver\&. This option will be ignored for discovery, but will be passed on to the subsequent connect call\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Connect to all records returned by the Discover Controller with IP4 address 192\&.168\&.1\&.3 for all resources allocated for NVMe Host name host1\-rogue\-nqn on the RDMA network\&. Port 4420 is used by default: .sp .if n \{\ .RS 4 .\} .nf # nvme connect\-all \-\-transport=rdma \-\-traddr=192\&.168\&.1\&.3 \e \-\-hostnqn=host1\-rogue\-nqn .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Issue a \fInvme connect\-all\fR command using a /etc/nvme/discovery\&.conf file: .sp .if n \{\ .RS 4 .\} .nf # Machine default \*(Aqnvme discover\*(Aq commands\&. Query the # Discovery Controller\*(Aqs two ports (some resources may only # be accessible on a single port)\&. Note an official # nqn (Host) name defined in the NVMe specification is being used # in this example\&. \-t rdma \-a 192\&.168\&.69\&.33 \-s 4420 \-q nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 \-t rdma \-a 192\&.168\&.1\&.4 \-s 4420 \-q nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 At the prompt type "nvme connect\-all"\&. .fi .if n \{\ .RE .\} .RE .SH "SEE ALSO" .sp nvme\-discover(1) nvme\-connect(1) .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-connect-all.html000066400000000000000000000623351352532746300217610ustar00rootroot00000000000000 nvme-connect-all(1)

SYNOPSIS

nvme connect-all
                [--transport=<trtype>     | -t <trtype>]
                [--traddr=<traddr>        | -a <traddr>]
                [--trsvcid=<trsvcid>      | -s <trsvcid>]
                [--host-traddr=<traddr>   | -w <traddr>]
                [--hostnqn=<hostnqn>      | -q <hostnqn>]
                [--hostid=<hostid>        | -I <hostid>]
                [--raw=<filename>         | -r <filename>]
                [--keep-alive-tmo=<#>     | -k <#>]
                [--reconnect-delay=<#>    | -c <#>]
                [--ctrl-loss-tmo=<#>      | -l <#>]
                [--hdr_digest             | -g]
                [--data_digest            | -G]
                [--nr-io-queues=<#>       | -i <#>]
                [--nr-write-queues=<#>    | -W <#>]
                [--nr-poll-queues=<#>     | -P <#>]
                [--queue-size=<#>         | -Q <#>]

DESCRIPTION

Send one or more Discovery requests to a NVMe over Fabrics Discovery Controller, and create controllers for the returned discovery records.

If no parameters are given, then nvme connect-all will attempt to find a /etc/nvme/discovery.conf file to use to supply a list of connect-all commands to run. If no /etc/nvme/discovery.conf file exists, the command will quit with an error.

Otherwise a specific Discovery Controller should be specified using the --transport, --traddr and if necessary the --trsvcid and a Diѕcovery request will be sent to the specified Discovery Controller.

See the documentation for the nvme-discover(1) command for further background.

OPTIONS

-t <trtype>
--transport=<trtype>

This field specifies the network fabric being used for a NVMe-over-Fabrics network. Current string values include:

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.

loop

Connect to a NVMe over Fabrics target on the local host

-a <traddr>
--traddr=<traddr>

This field specifies the network address of the Discovery Controller. For transports using IP addressing (e.g. rdma) this should be an IP-based address (ex. IPv4).

-s <trsvcid>
--trsvcid=<trsvcid>

This field specifies the transport service id. For transports using IP addressing (e.g. rdma) this field is the port number. By default, the IP port number for the RDMA transport is 4420.

-w <traddr>
--host-traddr=<traddr>

This field specifies the network address used on the host to connect to the Discovery Controller.

-q <hostnqn>
--hostnqn=<hostnqn>

Overrides the default Host NQN that identifies the NVMe Host. If this option is not specified, the default is read from /etc/nvme/hostnqn first. If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next. The Host NQN uniquely identifies the NVMe Host, and may be used by the the Discovery Controller to control what NVMe Target resources are allocated to the NVMe Host for a connection.

-I <hostid>
--hostid=<hostid>

UUID(Universally Unique Identifier) to be discovered which should be formatted.

-r <filename>
--raw=<filename>

This field will take the output of the nvme connect-all command and dump it to a raw binary file. By default nvme connect-all will dump the output to stdout.

-k <#>
--keep-alive-tmo=<#>

Overrides the default keep alive timeout (in seconds). This option will be ignored for discovery, but will be passed on to the subsequent connect call.

-c <#>
--reconnect-delay=<#>

Overrides the default delay (in seconds) before reconnect is attempted after a connect loss.

-l <#>
--ctrl-loss-tmo=<#>

Overrides the default controller loss timeout period (in seconds).

-g
--hdr_digest

Generates/verifies header digest (TCP).

-G
--data_digest

Generates/verifies data digest (TCP).

-i <#>
--nr-io-queues=<#>

Overrides the default number of I/O queues create by the driver. This option will be ignored for discovery, but will be passed on to the subsequent connect call.

-W <#>
--nr-write-queues=<#>

Adds additional queues that will be used for write I/O.

-P <#>
--nr-poll-queues=<#>

Adds additional queues that will be used for polling latency sensitive I/O.

-Q <#>
--queue-size=<#>

Overrides the default number of elements in the I/O queues created by the driver. This option will be ignored for discovery, but will be passed on to the subsequent connect call.

EXAMPLES

  • Connect to all records returned by the Discover Controller with IP4 address 192.168.1.3 for all resources allocated for NVMe Host name host1-rogue-nqn on the RDMA network. Port 4420 is used by default:

    # nvme connect-all --transport=rdma --traddr=192.168.1.3 \
    --hostnqn=host1-rogue-nqn
  • Issue a nvme connect-all command using a /etc/nvme/discovery.conf file:

    # Machine default 'nvme discover' commands.  Query the
    # Discovery Controller's two ports (some resources may only
    # be accessible on a single port).  Note an official
    # nqn (Host) name defined in the NVMe specification is being used
    # in this example.
    -t rdma -a 192.168.69.33 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
    -t rdma -a 192.168.1.4   -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
    
    At the prompt type "nvme connect-all".

SEE ALSO

nvme-discover(1) nvme-connect(1)

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-connect-all.txt000066400000000000000000000125041352532746300216250ustar00rootroot00000000000000nvme-connect-all(1) =================== NAME ---- nvme-connect-all - Discover and Connect to Fabrics controllers. SYNOPSIS -------- [verse] 'nvme connect-all' [--transport= | -t ] [--traddr= | -a ] [--trsvcid= | -s ] [--host-traddr= | -w ] [--hostnqn= | -q ] [--hostid= | -I ] [--raw= | -r ] [--keep-alive-tmo=<#> | -k <#>] [--reconnect-delay=<#> | -c <#>] [--ctrl-loss-tmo=<#> | -l <#>] [--hdr_digest | -g] [--data_digest | -G] [--nr-io-queues=<#> | -i <#>] [--nr-write-queues=<#> | -W <#>] [--nr-poll-queues=<#> | -P <#>] [--queue-size=<#> | -Q <#>] DESCRIPTION ----------- Send one or more Discovery requests to a NVMe over Fabrics Discovery Controller, and create controllers for the returned discovery records. If no parameters are given, then 'nvme connect-all' will attempt to find a /etc/nvme/discovery.conf file to use to supply a list of connect-all commands to run. If no /etc/nvme/discovery.conf file exists, the command will quit with an error. Otherwise a specific Discovery Controller should be specified using the --transport, --traddr and if necessary the --trsvcid and a Diѕcovery request will be sent to the specified Discovery Controller. See the documentation for the nvme-discover(1) command for further background. OPTIONS ------- -t :: --transport=:: This field specifies the network fabric being used for a NVMe-over-Fabrics network. Current string values include: + [] |================= |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. |loop|Connect to a NVMe over Fabrics target on the local host |================= -a :: --traddr=:: This field specifies the network address of the Discovery Controller. For transports using IP addressing (e.g. rdma) this should be an IP-based address (ex. IPv4). -s :: --trsvcid=:: This field specifies the transport service id. For transports using IP addressing (e.g. rdma) this field is the port number. By default, the IP port number for the RDMA transport is 4420. -w :: --host-traddr=:: This field specifies the network address used on the host to connect to the Discovery Controller. -q :: --hostnqn=:: Overrides the default Host NQN that identifies the NVMe Host. If this option is not specified, the default is read from /etc/nvme/hostnqn first. If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next. The Host NQN uniquely identifies the NVMe Host, and may be used by the the Discovery Controller to control what NVMe Target resources are allocated to the NVMe Host for a connection. -I :: --hostid=:: UUID(Universally Unique Identifier) to be discovered which should be formatted. -r :: --raw=:: This field will take the output of the 'nvme connect-all' command and dump it to a raw binary file. By default 'nvme connect-all' will dump the output to stdout. -k <#>:: --keep-alive-tmo=<#>:: Overrides the default keep alive timeout (in seconds). This option will be ignored for discovery, but will be passed on to the subsequent connect call. -c <#>:: --reconnect-delay=<#>:: Overrides the default delay (in seconds) before reconnect is attempted after a connect loss. -l <#>:: --ctrl-loss-tmo=<#>:: Overrides the default controller loss timeout period (in seconds). -g:: --hdr_digest:: Generates/verifies header digest (TCP). -G:: --data_digest:: Generates/verifies data digest (TCP). -i <#>:: --nr-io-queues=<#>:: Overrides the default number of I/O queues create by the driver. This option will be ignored for discovery, but will be passed on to the subsequent connect call. -W <#>:: --nr-write-queues=<#>:: Adds additional queues that will be used for write I/O. -P <#>:: --nr-poll-queues=<#>:: Adds additional queues that will be used for polling latency sensitive I/O. -Q <#>:: --queue-size=<#>:: Overrides the default number of elements in the I/O queues created by the driver. This option will be ignored for discovery, but will be passed on to the subsequent connect call. EXAMPLES -------- * Connect to all records returned by the Discover Controller with IP4 address 192.168.1.3 for all resources allocated for NVMe Host name host1-rogue-nqn on the RDMA network. Port 4420 is used by default: + ------------ # nvme connect-all --transport=rdma --traddr=192.168.1.3 \ --hostnqn=host1-rogue-nqn ------------ + * Issue a 'nvme connect-all' command using a /etc/nvme/discovery.conf file: + ----------- # Machine default 'nvme discover' commands. Query the # Discovery Controller's two ports (some resources may only # be accessible on a single port). Note an official # nqn (Host) name defined in the NVMe specification is being used # in this example. -t rdma -a 192.168.69.33 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 -t rdma -a 192.168.1.4 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 At the prompt type "nvme connect-all". ------------ SEE ALSO -------- nvme-discover(1) nvme-connect(1) NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-connect.1000066400000000000000000000145141352532746300204030ustar00rootroot00000000000000'\" t .\" Title: nvme-connect .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/15/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-CONNECT" "1" "04/15/2019" "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-connect \- Connect to a Fabrics controller\&. .SH "SYNOPSIS" .sp .nf \fInvme connect\fR [\-\-transport= | \-t ] [\-\-nqn= | \-n ] [\-\-traddr= | \-a ] [\-\-trsvcid= | \-s ] [\-\-host\-traddr= | \-w ] [\-\-hostnqn= | \-q ] [\-\-hostid= | \-I ] [\-\-nr\-io\-queues=<#> | \-i <#>] [\-\-nr\-write\-queues=<#> | \-W <#>] [\-\-nr\-poll\-queues=<#> | \-P <#>] [\-\-queue\-size=<#> | \-Q <#>] [\-\-keep\-alive\-tmo=<#> | \-k <#>] [\-\-reconnect\-delay=<#> | \-c <#>] [\-\-ctrl\-loss\-tmo=<#> | \-l <#>] [\-\-duplicate_connect | \-D] [\-\-disable_sqflow | \-d] [\-\-hdr_digest | \-g] [\-\-data_digest | \-G] .fi .SH "DESCRIPTION" .sp Create a transport connection to a remote system (specified by \-\-traddr and \-\-trsvcid) and create a NVMe over Fabrics controller for the NVMe subsystem specified by the \-\-nqn option\&. .SH "OPTIONS" .PP \-t , \-\-transport= .RS 4 This field specifies the network fabric being used for a NVMe\-over\-Fabrics network\&. Current string values include: .TS allbox tab(:); lt lt lt lt lt lt lt lt. T{ Value T}:T{ Definition T} T{ rdma T}:T{ The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc) T} T{ fc T}:T{ \fBWIP\fR The network fabric is a Fibre Channel network\&. T} T{ loop T}:T{ Connect to a NVMe over Fabrics target on the local host T} .TE .sp 1 .RE .PP \-n , \-\-nqn .RS 4 This field specifies the name for the NVMe subsystem to connect to\&. .RE .PP \-a , \-\-traddr= .RS 4 This field specifies the network address of the Controller\&. For transports using IP addressing (e\&.g\&. rdma) this should be an IP\-based address (ex\&. IPv4)\&. .RE .PP \-s , \-\-trsvcid= .RS 4 This field specifies the transport service id\&. For transports using IP addressing (e\&.g\&. rdma) this field is the port number\&. By default, the IP port number for the RDMA transport is 4420\&. .RE .PP \-w , \-\-host\-traddr= .RS 4 This field specifies the network address used on the host to connect to the Controller\&. .RE .PP \-q , \-\-hostnqn= .RS 4 Overrides the default Host NQN that identifies the NVMe Host\&. If this option is not specified, the default is read from /etc/nvme/hostnqn first\&. If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next\&. The Host NQN uniquely identifies the NVMe Host\&. .RE .PP \-I , \-\-hostid= .RS 4 UUID(Universally Unique Identifier) to be discovered which should be formatted\&. .RE .PP \-i <#>, \-\-nr\-io\-queues=<#> .RS 4 Overrides the default number of I/O queues create by the driver\&. .RE .PP \-W <#>, \-\-nr\-write\-queues=<#> .RS 4 Adds additional queues that will be used for write I/O\&. .RE .PP \-P <#>, \-\-nr\-poll\-queues=<#> .RS 4 Adds additional queues that will be used for polling latency sensitive I/O\&. .RE .PP \-Q <#>, \-\-queue\-size=<#> .RS 4 Overrides the default number of elements in the I/O queues created by the driver\&. .RE .PP \-k <#>, \-\-keep\-alive\-tmo=<#> .RS 4 Overrides the default keep alive timeout (in seconds)\&. .RE .PP \-c <#>, \-\-reconnect\-delay=<#> .RS 4 Overrides the default delay (in seconds) before reconnect is attempted after a connect loss\&. .RE .PP \-l <#>, \-\-ctrl\-loss\-tmo=<#> .RS 4 Overrides the default controller loss timeout period (in seconds)\&. .RE .PP \-D, \-\-duplicate_connect .RS 4 Allows duplicated connections between same trnsport host and subsystem port\&. .RE .PP \-d, \-\-disable_sqflow .RS 4 Disables SQ flow control to omit head doorbell update for submission queues when sending nvme completions\&. .RE .PP \-g, \-\-hdr_digest .RS 4 Generates/verifies header digest (TCP)\&. .RE .PP \-G, \-\-data_digest .RS 4 Generates/verifies data digest (TCP)\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Connect to a subsystem named nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 on the IP4 address 192\&.168\&.1\&.3\&. Port 4420 is used by default: .sp .if n \{\ .RS 4 .\} .nf # nvme connect \-\-transport=rdma \-\-traddr=192\&.168\&.1\&.3 \e \-\-nqn=nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 .fi .if n \{\ .RE .\} .RE .SH "SEE ALSO" .sp nvme\-discover(1) nvme\-connect\-all(1) .SH "AUTHORS" .sp This was co\-written by \m[blue]\fBJay Freyensee\fR\m[]\&\s-2\u[1]\d\s+2 and \m[blue]\fBChristoph Hellwig\fR\m[]\&\s-2\u[2]\d\s+2 for \m[blue]\fBKeith Busch\fR\m[]\&\s-2\u[3]\d\s+2\&. .SH "NVME" .sp Part of the nvme\-user suite .SH "NOTES" .IP " 1." 4 Jay Freyensee .RS 4 \%mailto:james.p.freyensee@intel.com .RE .IP " 2." 4 Christoph Hellwig .RS 4 \%mailto:hch@lst.de .RE .IP " 3." 4 Keith Busch .RS 4 \%mailto:keith.busch@intel.com .RE nvme-cli-1.9/Documentation/nvme-connect.html000066400000000000000000000603621352532746300212110ustar00rootroot00000000000000 nvme-connect(1)

SYNOPSIS

nvme connect
                [--transport=<trtype>     | -t <trtype>]
                [--nqn=<subnqn>           | -n <subnqn>]
                [--traddr=<traddr>        | -a <traddr>]
                [--trsvcid=<trsvcid>      | -s <trsvcid>]
                [--host-traddr=<traddr>   | -w <traddr>]
                [--hostnqn=<hostnqn>      | -q <hostnqn>]
                [--hostid=<hostid>        | -I <hostid>]
                [--nr-io-queues=<#>       | -i <#>]
                [--nr-write-queues=<#>    | -W <#>]
                [--nr-poll-queues=<#>     | -P <#>]
                [--queue-size=<#>         | -Q <#>]
                [--keep-alive-tmo=<#>     | -k <#>]
                [--reconnect-delay=<#>    | -c <#>]
                [--ctrl-loss-tmo=<#>      | -l <#>]
                [--duplicate_connect      | -D]
                [--disable_sqflow         | -d]
                [--hdr_digest             | -g]
                [--data_digest            | -G]

DESCRIPTION

Create a transport connection to a remote system (specified by --traddr and --trsvcid) and create a NVMe over Fabrics controller for the NVMe subsystem specified by the --nqn option.

OPTIONS

-t <trtype>
--transport=<trtype>

This field specifies the network fabric being used for a NVMe-over-Fabrics network. Current string values include:

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.

loop

Connect to a NVMe over Fabrics target on the local host

-n <subnqn>
--nqn <subnqn>

This field specifies the name for the NVMe subsystem to connect to.

-a <traddr>
--traddr=<traddr>

This field specifies the network address of the Controller. For transports using IP addressing (e.g. rdma) this should be an IP-based address (ex. IPv4).

-s <trsvcid>
--trsvcid=<trsvcid>

This field specifies the transport service id. For transports using IP addressing (e.g. rdma) this field is the port number. By default, the IP port number for the RDMA transport is 4420.

-w <traddr>
--host-traddr=<traddr>

This field specifies the network address used on the host to connect to the Controller.

-q <hostnqn>
--hostnqn=<hostnqn>

Overrides the default Host NQN that identifies the NVMe Host. If this option is not specified, the default is read from /etc/nvme/hostnqn first. If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next. The Host NQN uniquely identifies the NVMe Host.

-I <hostid>
--hostid=<hostid>

UUID(Universally Unique Identifier) to be discovered which should be formatted.

-i <#>
--nr-io-queues=<#>

Overrides the default number of I/O queues create by the driver.

-W <#>
--nr-write-queues=<#>

Adds additional queues that will be used for write I/O.

-P <#>
--nr-poll-queues=<#>

Adds additional queues that will be used for polling latency sensitive I/O.

-Q <#>
--queue-size=<#>

Overrides the default number of elements in the I/O queues created by the driver.

-k <#>
--keep-alive-tmo=<#>

Overrides the default keep alive timeout (in seconds).

-c <#>
--reconnect-delay=<#>

Overrides the default delay (in seconds) before reconnect is attempted after a connect loss.

-l <#>
--ctrl-loss-tmo=<#>

Overrides the default controller loss timeout period (in seconds).

-D
--duplicate_connect

Allows duplicated connections between same trnsport host and subsystem port.

-d
--disable_sqflow

Disables SQ flow control to omit head doorbell update for submission queues when sending nvme completions.

-g
--hdr_digest

Generates/verifies header digest (TCP).

-G
--data_digest

Generates/verifies data digest (TCP).

EXAMPLES

  • Connect to a subsystem named nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 on the IP4 address 192.168.1.3. Port 4420 is used by default:

    # nvme connect --transport=rdma --traddr=192.168.1.3 \
    --nqn=nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432

SEE ALSO

nvme-discover(1) nvme-connect-all(1)

AUTHORS

This was co-written by Jay Freyensee and Christoph Hellwig for Keith Busch.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-connect.txt000066400000000000000000000102521352532746300210550ustar00rootroot00000000000000nvme-connect(1) =============== NAME ---- nvme-connect - Connect to a Fabrics controller. SYNOPSIS -------- [verse] 'nvme connect' [--transport= | -t ] [--nqn= | -n ] [--traddr= | -a ] [--trsvcid= | -s ] [--host-traddr= | -w ] [--hostnqn= | -q ] [--hostid= | -I ] [--nr-io-queues=<#> | -i <#>] [--nr-write-queues=<#> | -W <#>] [--nr-poll-queues=<#> | -P <#>] [--queue-size=<#> | -Q <#>] [--keep-alive-tmo=<#> | -k <#>] [--reconnect-delay=<#> | -c <#>] [--ctrl-loss-tmo=<#> | -l <#>] [--duplicate_connect | -D] [--disable_sqflow | -d] [--hdr_digest | -g] [--data_digest | -G] DESCRIPTION ----------- Create a transport connection to a remote system (specified by --traddr and --trsvcid) and create a NVMe over Fabrics controller for the NVMe subsystem specified by the --nqn option. OPTIONS ------- -t :: --transport=:: This field specifies the network fabric being used for a NVMe-over-Fabrics network. Current string values include: + [] |================= |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. |loop|Connect to a NVMe over Fabrics target on the local host |================= -n :: --nqn :: This field specifies the name for the NVMe subsystem to connect to. -a :: --traddr=:: This field specifies the network address of the Controller. For transports using IP addressing (e.g. rdma) this should be an IP-based address (ex. IPv4). -s :: --trsvcid=:: This field specifies the transport service id. For transports using IP addressing (e.g. rdma) this field is the port number. By default, the IP port number for the RDMA transport is 4420. -w :: --host-traddr=:: This field specifies the network address used on the host to connect to the Controller. -q :: --hostnqn=:: Overrides the default Host NQN that identifies the NVMe Host. If this option is not specified, the default is read from /etc/nvme/hostnqn first. If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next. The Host NQN uniquely identifies the NVMe Host. -I :: --hostid=:: UUID(Universally Unique Identifier) to be discovered which should be formatted. -i <#>:: --nr-io-queues=<#>:: Overrides the default number of I/O queues create by the driver. -W <#>:: --nr-write-queues=<#>:: Adds additional queues that will be used for write I/O. -P <#>:: --nr-poll-queues=<#>:: Adds additional queues that will be used for polling latency sensitive I/O. -Q <#>:: --queue-size=<#>:: Overrides the default number of elements in the I/O queues created by the driver. -k <#>:: --keep-alive-tmo=<#>:: Overrides the default keep alive timeout (in seconds). -c <#>:: --reconnect-delay=<#>:: Overrides the default delay (in seconds) before reconnect is attempted after a connect loss. -l <#>:: --ctrl-loss-tmo=<#>:: Overrides the default controller loss timeout period (in seconds). -D:: --duplicate_connect:: Allows duplicated connections between same trnsport host and subsystem port. -d:: --disable_sqflow:: Disables SQ flow control to omit head doorbell update for submission queues when sending nvme completions. -g:: --hdr_digest:: Generates/verifies header digest (TCP). -G:: --data_digest:: Generates/verifies data digest (TCP). EXAMPLES -------- * Connect to a subsystem named nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 on the IP4 address 192.168.1.3. Port 4420 is used by default: + ------------ # nvme connect --transport=rdma --traddr=192.168.1.3 \ --nqn=nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 ------------ SEE ALSO -------- nvme-discover(1) nvme-connect-all(1) AUTHORS ------- This was co-written by mailto:james.p.freyensee@intel.com[Jay Freyensee] and mailto:hch@lst.de[Christoph Hellwig] for mailto:keith.busch@intel.com[Keith Busch]. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-create-ns.1000066400000000000000000000054301352532746300206300ustar00rootroot00000000000000'\" t .\" Title: nvme-create-ns .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-CREATE\-NS" "1" "04/08/2019" "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-create-ns \- Send NVMe Namespace management command to create namespace, returns results\&. .SH "SYNOPSIS" .sp .nf \fInvme create\-ns\fR [\-\-nsze= | \-s ] [\-\-ncap= | \-c ] [\-\-flbas= | \-f ] [\-\-dps= | \-d ] [\-\-nmic= | \-m ] [\-\-block\-size= | \-b ] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends a namespace management command to create the namespace with the requested settings\&. On success, the namespace identifier assigned by the controller is returned\&. .sp The 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 \-s, \-\-nsze .RS 4 The namespace size\&. .RE .PP \-c, \-\-ncap .RS 4 The namespace capacity\&. .RE .PP \-f, \-\-flbas .RS 4 The namespace formatted logical block size setting\&. Conflicts with \-\-block\-size argument\&. .RE .PP \-d, \-\-dps .RS 4 The data protection settings\&. .RE .PP \-m, \-\-nmic .RS 4 Namespace multipath and sharing capabilities\&. .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\&. .RE .SH "EXAMPLES" .sp No examples provided yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-create-ns.html000066400000000000000000000455301352532746300214410ustar00rootroot00000000000000 nvme-create-ns(1)

SYNOPSIS

nvme create-ns <device> [--nsze=<nsze> | -s <nsze>]
                        [--ncap=<ncap> | -c <ncap>]
                        [--flbas=<flbas> | -f <flbas>]
                        [--dps=<dps> | -d <dps>]
                        [--nmic=<nmic> | -m <nmic>]
                        [--block-size=<block-size> | -b <block-size>]

DESCRIPTION

For the NVMe device given, sends a namespace management command to create the namespace with the requested settings. On success, the namespace identifier assigned by the controller is returned.

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

-s
--nsze

The namespace size.

-c
--ncap

The namespace capacity.

-f
--flbas

The namespace formatted logical block size setting. Conflicts with --block-size argument.

-d
--dps

The data protection settings.

-m
--nmic

Namespace multipath and sharing capabilities.

-b
--block-size

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.

EXAMPLES

No examples provided yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-create-ns.txt000066400000000000000000000025641352532746300213140ustar00rootroot00000000000000nvme-create-ns(1) ================= NAME ---- nvme-create-ns - Send NVMe Namespace management command to create namespace, returns results. SYNOPSIS -------- [verse] 'nvme create-ns' [--nsze= | -s ] [--ncap= | -c ] [--flbas= | -f ] [--dps= | -d ] [--nmic= | -m ] [--block-size= | -b ] DESCRIPTION ----------- For the NVMe device given, sends a namespace management command to create the namespace with the requested settings. On success, the namespace identifier assigned by the controller is returned. The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). OPTIONS ------- -s:: --nsze:: The namespace size. -c:: --ncap:: The namespace capacity. -f:: --flbas:: The namespace formatted logical block size setting. Conflicts with --block-size argument. -d:: --dps:: The data protection settings. -m:: --nmic:: Namespace multipath and sharing capabilities. -b:: --block-size:: 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. EXAMPLES -------- No examples provided yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-delete-ns.1000066400000000000000000000036761352532746300206410ustar00rootroot00000000000000'\" t .\" Title: nvme-id-ns .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-ID\-NS" "1" "01/08/2019" "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-delete-ns \- Send NVMe Namespace Management delete namespace command, return result\&. .SH "SYNOPSIS" .sp .nf \fInvme delete\-ns\fR [\-\-namespace\-id= | \-n ] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends an nvme namespace management command to delete the requested namespace and provides the result\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. The \*(Aq\-\-namespace\-id\*(Aq option is mandatory\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 The namespace identifier to delete\&. .RE .SH "EXAMPLES" .sp No examples yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-delete-ns.html000066400000000000000000000431551352532746300214410ustar00rootroot00000000000000 nvme-id-ns(1)

SYNOPSIS

nvme delete-ns <device> [--namespace-id=<nsid> | -n <nsid>]

DESCRIPTION

For the NVMe device given, sends an nvme namespace management command to delete the requested namespace and provides the result.

The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). The '--namespace-id' option is mandatory.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

The namespace identifier to delete.

EXAMPLES

No examples yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-delete-ns.txt000066400000000000000000000013271352532746300213070ustar00rootroot00000000000000nvme-id-ns(1) ============= NAME ---- nvme-delete-ns - Send NVMe Namespace Management delete namespace command, return result. SYNOPSIS -------- [verse] 'nvme delete-ns' [--namespace-id= | -n ] DESCRIPTION ----------- For the NVMe device given, sends an nvme namespace management command to delete the requested namespace and provides the result. The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). The `'--namespace-id'` option is mandatory. OPTIONS ------- -n :: --namespace-id=:: The namespace identifier to delete. EXAMPLES -------- No examples yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-detach-ns.1000066400000000000000000000037301352532746300206160ustar00rootroot00000000000000'\" t .\" Title: nvme-detach-ns .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-DETACH\-NS" "1" "01/08/2019" "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-detach-ns \- Send NVMe detach namespace, return result\&. .SH "SYNOPSIS" .sp .nf \fInvme detach\-ns\fR [\-\-namespace\-id= | \-n ] [\-\-controllers= | \-c .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends the nvme namespace detach command for the provided namespace identifier, attaching to the provided list of controller identifiers\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 The namespace identifier to detach\&. .RE .PP \-c , \-controllers= .RS 4 The comma separated list of controller identifiers to detach the namespace from\&. .RE .SH "EXAMPLES" .sp No examples yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-detach-ns.html000066400000000000000000000433061352532746300214250ustar00rootroot00000000000000 nvme-detach-ns(1)

SYNOPSIS

nvme detach-ns <device> [--namespace-id=<nsid> | -n <nsid>]
                        [--controllers=<ctrl-list,> | -c <ctrl-list,>

DESCRIPTION

For the NVMe device given, sends the nvme namespace detach command for the provided namespace identifier, attaching to the provided list of controller identifiers.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

The namespace identifier to detach.

-c <ctrl-list,>
-controllers=<ctrl-list,>

The comma separated list of controller identifiers to detach the namespace from.

EXAMPLES

No examples yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-detach-ns.txt000066400000000000000000000013311352532746300212700ustar00rootroot00000000000000nvme-detach-ns(1) ================= NAME ---- nvme-detach-ns - Send NVMe detach namespace, return result. SYNOPSIS -------- [verse] 'nvme detach-ns' [--namespace-id= | -n ] [--controllers= | -c DESCRIPTION ----------- For the NVMe device given, sends the nvme namespace detach command for the provided namespace identifier, attaching to the provided list of controller identifiers. OPTIONS ------- -n :: --namespace-id=:: The namespace identifier to detach. -c :: -controllers=:: The comma separated list of controller identifiers to detach the namespace from. EXAMPLES -------- No examples yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-device-self-test.1000066400000000000000000000053751352532746300221220ustar00rootroot00000000000000'\" t .\" Title: nvme-device-self-test .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-DEVICE\-SELF\-" "1" "01/08/2019" "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-device-self-test \- Perform the necessary tests to observe the performance and the parameters .SH "SYNOPSIS" .sp .nf \fInvme device\-self\-test\fR [\-\-namespace\-id= | \-n ] [\-\-self\-test\-code= | \-s ] .fi .SH "DESCRIPTION" .sp Initiates the required test based on the user input\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the corresponding test is initiated\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Indicate the namespace in which the device self\-test has to becarried out .RE .PP \-s , \-\-self\-test\-code= .RS 4 This field specifies the action taken by the device self\-test command : 1h: Start a short device self\-test operation 2h: Start a extended device self\-test operation eh: Start a vendor specific device self\-test operation fh: abort the device self\-test operation .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Start a short device self\-test in the namespace\-id 1: .sp .if n \{\ .RS 4 .\} .nf # nvme device\-self\-test /dev/nvme0 \-n 1 \-s 1 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Abort the device self\-test operation in the namespace\-id 1: .sp .if n \{\ .RS 4 .\} .nf # nvme device\-self\-test /dev/nvme0 \-n 1 \-s 0xf .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-device-self-test.html000066400000000000000000000450511352532746300227210ustar00rootroot00000000000000 nvme-device-self-test(1)

SYNOPSIS

nvme device-self-test <device> [--namespace-id=<NUM> | -n <NUM>]
                        [--self-test-code=<NUM> | -s <NUM>]

DESCRIPTION

Initiates the required test based on the user input.

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 corresponding test is initiated.

OPTIONS

-n <NUM>
--namespace-id=<NUM>

Indicate the namespace in which the device self-test has to becarried out

-s <NUM>
--self-test-code=<NUM>

This field specifies the action taken by the device self-test command : 1h: Start a short device self-test operation 2h: Start a extended device self-test operation eh: Start a vendor specific device self-test operation fh: abort the device self-test operation

EXAMPLES

  • Start a short device self-test in the namespace-id 1:

    # nvme device-self-test /dev/nvme0 -n 1 -s 1
  • Abort the device self-test operation in the namespace-id 1:

    # nvme device-self-test /dev/nvme0 -n 1 -s 0xf

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-device-self-test.txt000066400000000000000000000025251352532746300225730ustar00rootroot00000000000000nvme-device-self-test(1) ======================== NAME ---- nvme-device-self-test - Perform the necessary tests to observe the performance and the parameters SYNOPSIS -------- [verse] 'nvme device-self-test' [--namespace-id= | -n ] [--self-test-code= | -s ] DESCRIPTION ----------- Initiates the required test based on the user input. The 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 corresponding test is initiated. OPTIONS ------- -n :: --namespace-id=:: Indicate the namespace in which the device self-test has to becarried out -s :: --self-test-code=:: This field specifies the action taken by the device self-test command : 1h: Start a short device self-test operation 2h: Start a extended device self-test operation eh: Start a vendor specific device self-test operation fh: abort the device self-test operation EXAMPLES -------- * Start a short device self-test in the namespace-id 1: + ------------ # nvme device-self-test /dev/nvme0 -n 1 -s 1 ------------ + * Abort the device self-test operation in the namespace-id 1: + ------------ # nvme device-self-test /dev/nvme0 -n 1 -s 0xf ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-dir-receive.1000066400000000000000000000114651352532746300211520ustar00rootroot00000000000000'\" t .\" Title: nvme-dir-receive .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-DIR\-RECEIVE" "1" "01/08/2019" "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-dir-receive \- Send a directive receive command, returns applicable results .SH "SYNOPSIS" .sp .nf \fInvme dir\-receive\fR [\-\-namespace\-id= | \-n ] [\-\-data\-len= | \-l ] [\-\-dir\-type= | \-D ] [\-\-dir\-spec= | \-S ] [\-\-dir\-oper= | \-O ] [\-\-req\-resource= | \-r ] [\-\-human\-readable | \-H] [\-\-raw\-binary | \-b] .fi .SH "DESCRIPTION" .sp Submits an NVMe Directive Receive admin command and returns the applicable results\&. This may be the combination of directive type, and operation, as well as number of requested resource if specific operation needs it\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned directive\(cqs parameter structure (if applicable) is returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another program to parse\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Retrieve the feature for the given nsid\&. This is optional and most features do not use this value\&. .RE .PP \-D , \-\-dir\-type= .RS 4 Directive type .RE .PP \-S , \-\-dir\-spec= .RS 4 Directive specific .RE .PP \-O , \-\-dir\-oper= .RS 4 Directive operation .RE .PP \-r , \-\-req\-resource= .RS 4 Directive requested resource count .RE .sp + .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt lt lt. T{ .sp Select T}:T{ .sp Description T} T{ .sp 0 T}:T{ .sp Current T} T{ .sp 1 T}:T{ .sp Default T} T{ .sp 2 T}:T{ .sp Saved T} T{ .sp 3 T}:T{ .sp Supported capabilities T} T{ .sp 4\(en7 T}:T{ .sp Reserved T} .TE .sp 1 .PP \-l , \-\-data\-len= .RS 4 The data length for the buffer returned for this feature\&. Most known features do not use this value\&. The exception is LBA Range Type .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw receive buffer to stdout if the command returns a structure\&. .RE .PP \-H, \-\-human\-readable .RS 4 Print the decoded receive buffer to stdout if the command returns a structure\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Identify directive type supported : .sp .if n \{\ .RS 4 .\} .nf # nvme dir\-receive /dev/nvme0 \-\-dir\-type 0 \-\-dir\-oper 1 \-\-human\-readable .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Get stream directive parameters : .sp .if n \{\ .RS 4 .\} .nf # nvme dir\-receive /dev/nvme0 \-\-dir\-type 1 \-\-dir\-oper 1 \-\-human\-readable .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Allocate 3 streams for namespace 1 .sp .if n \{\ .RS 4 .\} .nf # nvme dir\-receive /dev/nvme0n1 \-\-dir\-type 1 \-\-dir\-oper 3 \-\-req\-resource 3 \-\-human\-readable .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Get streams directive status : .sp .if n \{\ .RS 4 .\} .nf # nvme dir\-receive /dev/nvme0 \-\-dir\-type 1 \-\-dir\-oper 2 \-\-human\-readable .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 nvme-cli-1.9/Documentation/nvme-dir-receive.html000066400000000000000000000520021352532746300217460ustar00rootroot00000000000000 nvme-dir-receive(1)

SYNOPSIS

nvme dir-receive <device> [--namespace-id=<nsid> | -n <nsid>]
                          [--data-len=<data-len> | -l <data-len>]
                          [--dir-type=<dtype> | -D <dtype>]
                          [--dir-spec=<dspec> | -S <dspec>]
                          [--dir-oper=<doper> | -O <doper>]
                          [--req-resource=<nsr> | -r <nsr>]
                          [--human-readable | -H]
                          [--raw-binary | -b]

DESCRIPTION

Submits an NVMe Directive Receive admin command and returns the applicable results. This may be the combination of directive type, and operation, as well as number of requested resource if specific operation needs it.

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 directive’s parameter structure (if applicable) is returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another program to parse.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Retrieve the feature for the given nsid. This is optional and most features do not use this value.

-D <dtype>
--dir-type=<dtype>

Directive type

-S <dspec>
--dir-spec=<dspec>

Directive specific

-O <doper>
--dir-oper=<doper>

Directive operation

-r <nsr>
--req-resource=<nsr>

Directive requested resource count

+

Select

Description

0

Current

1

Default

2

Saved

3

Supported capabilities

4–7

Reserved

-l <data-len>
--data-len=<data-len>

The data length for the buffer returned for this feature. Most known features do not use this value. The exception is LBA Range Type

-b
--raw-binary

Print the raw receive buffer to stdout if the command returns a structure.

-H
--human-readable

Print the decoded receive buffer to stdout if the command returns a structure.

EXAMPLES

  • Identify directive type supported :

    # nvme dir-receive /dev/nvme0 --dir-type 0 --dir-oper 1 --human-readable
  • Get stream directive parameters :

    # nvme dir-receive /dev/nvme0 --dir-type 1 --dir-oper 1 --human-readable
  • Allocate 3 streams for namespace 1

    # nvme dir-receive /dev/nvme0n1 --dir-type 1 --dir-oper 3 --req-resource 3 --human-readable
  • Get streams directive status :

    # nvme dir-receive /dev/nvme0 --dir-type 1 --dir-oper 2 --human-readable

    It is probably a bad idea to not redirect stdout when using this mode.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-dir-receive.txt000066400000000000000000000054101352532746300216220ustar00rootroot00000000000000nvme-dir-receive(1) =================== NAME ---- nvme-dir-receive - Send a directive receive command, returns applicable results SYNOPSIS -------- [verse] 'nvme dir-receive' [--namespace-id= | -n ] [--data-len= | -l ] [--dir-type= | -D ] [--dir-spec= | -S ] [--dir-oper= | -O ] [--req-resource= | -r ] [--human-readable | -H] [--raw-binary | -b] DESCRIPTION ----------- Submits an NVMe Directive Receive admin command and returns the applicable results. This may be the combination of directive type, and operation, as well as number of requested resource if specific operation needs it. The 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 directive's parameter structure (if applicable) is returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another program to parse. OPTIONS ------- -n :: --namespace-id=:: Retrieve the feature for the given nsid. This is optional and most features do not use this value. -D :: --dir-type=:: Directive type -S :: --dir-spec=:: Directive specific -O :: --dir-oper=:: Directive operation -r :: --req-resource=:: Directive requested resource count + [] |================== |Select|Description |0|Current |1|Default |2|Saved |3|Supported capabilities |4–7|Reserved |================== -l :: --data-len=:: The data length for the buffer returned for this feature. Most known features do not use this value. The exception is LBA Range Type -b:: --raw-binary:: Print the raw receive buffer to stdout if the command returns a structure. -H:: --human-readable:: Print the decoded receive buffer to stdout if the command returns a structure. EXAMPLES -------- * Identify directive type supported : + ------------ # nvme dir-receive /dev/nvme0 --dir-type 0 --dir-oper 1 --human-readable ------------ + * Get stream directive parameters : + ------------ # nvme dir-receive /dev/nvme0 --dir-type 1 --dir-oper 1 --human-readable ------------ + * Allocate 3 streams for namespace 1 + ------------ # nvme dir-receive /dev/nvme0n1 --dir-type 1 --dir-oper 3 --req-resource 3 --human-readable ------------ + * Get streams directive status : + ------------ # nvme dir-receive /dev/nvme0 --dir-type 1 --dir-oper 2 --human-readable ------------ + It is probably a bad idea to not redirect stdout when using this mode. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-dir-send.1000066400000000000000000000116611352532746300204570ustar00rootroot00000000000000'\" t .\" Title: nvme-dir-send .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-DIR\-SEND" "1" "01/08/2019" "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-dir-send \- Issue a directive send command, returns applicable results .SH "SYNOPSIS" .sp .nf \fInvme dir\-send\fR [\-\-namespace\-id= | \-n ] [\-\-data\-len= | \-l ] [\-\-dir\-type= | \-D ] [\-\-dir\-spec= | \-S ] [\-\-dir\-oper= | \-O ] [\-\-endir= | \-e ] [\-\-target\-dir= | \-T ] [\-\-human\-readable | \-H] [\-\-raw\-binary | \-b] .fi .SH "DESCRIPTION" .sp Submits an NVMe Directive Send admin command and returns the applicable results\&. This may be the combination of directive type, and operation, as well as target directive and its enable/disable status of the operation, if specific operation needs it\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned directive\(cqs parameter structure (if applicable) is returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another program to parse\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Retrieve the feature for the given nsid\&. This is optional and most features do not use this value\&. .RE .PP \-D , \-\-dir\-type= .RS 4 Directive type .RE .PP \-S , \-\-dir\-spec= .RS 4 Directive specific .RE .PP \-O , \-\-dir\-oper= .RS 4 Directive operation .RE .PP \-T , \-\-target\-dir= .RS 4 Target directive of the operation .RE .PP \-e , \-\-endir= .RS 4 Target directive enable(1) or disable (0) operation .RE .sp + .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt lt lt. T{ .sp Select T}:T{ .sp Description T} T{ .sp 0 T}:T{ .sp Current T} T{ .sp 1 T}:T{ .sp Default T} T{ .sp 2 T}:T{ .sp Saved T} T{ .sp 3 T}:T{ .sp Supported capabilities T} T{ .sp 4\(en7 T}:T{ .sp Reserved T} .TE .sp 1 .PP \-l , \-\-data\-len= .RS 4 The data length for the buffer returned for this feature\&. Most known features do not use this value\&. The exception is LBA Range Type .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw receive buffer to stdout if the command returns a structure\&. .RE .PP \-H, \-\-human\-readable .RS 4 Print the decoded receive buffer to stdout if the command returns a structure\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Enable streams directive : .sp .if n \{\ .RS 4 .\} .nf # nvme dir\-send /dev/nvme0n1 \-\-dir\-type 0 \-\-dir\-oper 1 \-\-target\-dir 1 \-\-endir 1 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Disable streams directive : .sp .if n \{\ .RS 4 .\} .nf # nvme dir\-send /dev/nvme0n1 \-\-dir\-type 0 \-\-dir\-oper 1 \-\-target\-dir 1 \-\-endir 0 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Release all allocated streams resource : .sp .if n \{\ .RS 4 .\} .nf # nvme dir\-send /dev/nvme0n1 \-\-dir\-type 1 \-\-dir\-oper 2 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Release stream ID 3 : .sp .if n \{\ .RS 4 .\} .nf # nvme dir\-send /dev/nvme0 \-\-dir\-type 1 \-\-dir\-oper 1 \-\-dir\-spec 3 .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 nvme-cli-1.9/Documentation/nvme-dir-send.html000066400000000000000000000523251352532746300212650ustar00rootroot00000000000000 nvme-dir-send(1)

SYNOPSIS

nvme dir-send <device> [--namespace-id=<nsid> | -n <nsid>]
                          [--data-len=<data-len> | -l <data-len>]
                          [--dir-type=<dtype> | -D <dtype>]
                          [--dir-spec=<dspec> | -S <dspec>]
                          [--dir-oper=<doper> | -O <doper>]
                          [--endir=<endir> | -e <endir>]
                          [--target-dir=<tdir> | -T <tdir>]
                          [--human-readable | -H]
                          [--raw-binary | -b]

DESCRIPTION

Submits an NVMe Directive Send admin command and returns the applicable results. This may be the combination of directive type, and operation, as well as target directive and its enable/disable status of the operation, if specific operation needs it.

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 directive’s parameter structure (if applicable) is returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another program to parse.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Retrieve the feature for the given nsid. This is optional and most features do not use this value.

-D <dtype>
--dir-type=<dtype>

Directive type

-S <dspec>
--dir-spec=<dspec>

Directive specific

-O <doper>
--dir-oper=<doper>

Directive operation

-T <tdir>
--target-dir=<nsr>

Target directive of the operation

-e <endir>
--endir=<endir>

Target directive enable(1) or disable (0) operation

+

Select

Description

0

Current

1

Default

2

Saved

3

Supported capabilities

4–7

Reserved

-l <data-len>
--data-len=<data-len>

The data length for the buffer returned for this feature. Most known features do not use this value. The exception is LBA Range Type

-b
--raw-binary

Print the raw receive buffer to stdout if the command returns a structure.

-H
--human-readable

Print the decoded receive buffer to stdout if the command returns a structure.

EXAMPLES

  • Enable streams directive :

    # nvme dir-send /dev/nvme0n1 --dir-type 0 --dir-oper 1 --target-dir 1 --endir 1
  • Disable streams directive :

    # nvme dir-send /dev/nvme0n1 --dir-type 0 --dir-oper 1 --target-dir 1 --endir 0
  • Release all allocated streams resource :

    # nvme dir-send /dev/nvme0n1 --dir-type 1 --dir-oper 2
  • Release stream ID 3 :

    # nvme dir-send /dev/nvme0 --dir-type 1 --dir-oper 1 --dir-spec 3

    It is probably a bad idea to not redirect stdout when using this mode.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-dir-send.txt000066400000000000000000000055341352532746300211400ustar00rootroot00000000000000nvme-dir-send(1) ================ NAME ---- nvme-dir-send - Issue a directive send command, returns applicable results SYNOPSIS -------- [verse] 'nvme dir-send' [--namespace-id= | -n ] [--data-len= | -l ] [--dir-type= | -D ] [--dir-spec= | -S ] [--dir-oper= | -O ] [--endir= | -e ] [--target-dir= | -T ] [--human-readable | -H] [--raw-binary | -b] DESCRIPTION ----------- Submits an NVMe Directive Send admin command and returns the applicable results. This may be the combination of directive type, and operation, as well as target directive and its enable/disable status of the operation, if specific operation needs it. The 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 directive's parameter structure (if applicable) is returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another program to parse. OPTIONS ------- -n :: --namespace-id=:: Retrieve the feature for the given nsid. This is optional and most features do not use this value. -D :: --dir-type=:: Directive type -S :: --dir-spec=:: Directive specific -O :: --dir-oper=:: Directive operation -T :: --target-dir=:: Target directive of the operation -e :: --endir=:: Target directive enable(1) or disable (0) operation + [] |================== |Select|Description |0|Current |1|Default |2|Saved |3|Supported capabilities |4–7|Reserved |================== -l :: --data-len=:: The data length for the buffer returned for this feature. Most known features do not use this value. The exception is LBA Range Type -b:: --raw-binary:: Print the raw receive buffer to stdout if the command returns a structure. -H:: --human-readable:: Print the decoded receive buffer to stdout if the command returns a structure. EXAMPLES -------- * Enable streams directive : + ------------ # nvme dir-send /dev/nvme0n1 --dir-type 0 --dir-oper 1 --target-dir 1 --endir 1 ------------ + * Disable streams directive : + ------------ # nvme dir-send /dev/nvme0n1 --dir-type 0 --dir-oper 1 --target-dir 1 --endir 0 ------------ + * Release all allocated streams resource : + ------------ # nvme dir-send /dev/nvme0n1 --dir-type 1 --dir-oper 2 ------------ + * Release stream ID 3 : + ------------ # nvme dir-send /dev/nvme0 --dir-type 1 --dir-oper 1 --dir-spec 3 ------------ + It is probably a bad idea to not redirect stdout when using this mode. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-disconnect-all.1000066400000000000000000000035141352532746300216470ustar00rootroot00000000000000'\" t .\" Title: nvme-disconnect-all .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-DISCONNECT\-AL" "1" "04/08/2019" "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-disconnect-all \- Disconnect from all connected Fabrics controllers\&. .SH "SYNOPSIS" .sp .nf \fInvme disconnect\-all\fR .fi .SH "DESCRIPTION" .sp Disconnects and removes all existing NVMe over Fabrics controllers\&. .sp See the documentation for the nvme\-disconnect(1) command for further background\&. .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Disconnect all existing nvme controllers: .sp .if n \{\ .RS 4 .\} .nf # nvme disconnect\-all .fi .if n \{\ .RE .\} .RE .SH "SEE ALSO" .sp nvme\-disconnect(1) .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-disconnect-all.html000066400000000000000000000426021352532746300224540ustar00rootroot00000000000000 nvme-disconnect-all(1)

SYNOPSIS

nvme disconnect-all

DESCRIPTION

Disconnects and removes all existing NVMe over Fabrics controllers.

See the documentation for the nvme-disconnect(1) command for further background.

EXAMPLES

  • Disconnect all existing nvme controllers:

    # nvme disconnect-all

SEE ALSO

nvme-disconnect(1)

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-disconnect-all.txt000066400000000000000000000010401352532746300223160ustar00rootroot00000000000000nvme-disconnect-all(1) ====================== NAME ---- nvme-disconnect-all - Disconnect from all connected Fabrics controllers. SYNOPSIS -------- [verse] 'nvme disconnect-all' DESCRIPTION ----------- Disconnects and removes all existing NVMe over Fabrics controllers. See the documentation for the nvme-disconnect(1) command for further background. EXAMPLES -------- * Disconnect all existing nvme controllers: + ------------ # nvme disconnect-all ------------ SEE ALSO -------- nvme-disconnect(1) NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-disconnect.1000066400000000000000000000052301352532746300210760ustar00rootroot00000000000000'\" t .\" Title: nvme-disconnect .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/15/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-DISCONNECT" "1" "04/15/2019" "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-disconnect \- Disconnect one or more Fabrics controller(s)\&. .SH "SYNOPSIS" .sp .nf \fInvme disconnect\fR [\-\-nqn= | \-n ] [\-\-device= | \-d ] .fi .SH "DESCRIPTION" .sp Disconnects and removes one or more existing NVMe over Fabrics controllers\&. If the \-\-nqn option is specified all controllers connecting to the Subsystem identified by subnqn will be removed\&. If the \-\-device option is specified the controller specified by the \-\-device option will be removed\&. .SH "OPTIONS" .PP \-n , \-\-nqn .RS 4 Indicates that all controllers for the NVMe subsystems specified should be removed\&. .RE .PP \-d , \-\-device .RS 4 Indicates that the controller with the specified name should be removed\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Disconnect all controllers for a subsystem named nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432: .sp .if n \{\ .RS 4 .\} .nf # nvme disconnect \-\-nqn=nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Disconnect the controller nvme4 .sp .if n \{\ .RS 4 .\} .nf # nvme disconnect \-\-device=nvme4 .fi .if n \{\ .RE .\} .RE .SH "SEE ALSO" .sp nvme\-connect(1) .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-disconnect.html000066400000000000000000000450651352532746300217140ustar00rootroot00000000000000 nvme-disconnect(1)

SYNOPSIS

nvme disconnect
                [--nqn=<subnqn>           | -n <subnqn>]
                [--device=<device>        | -d <device>]

DESCRIPTION

Disconnects and removes one or more existing NVMe over Fabrics controllers. If the --nqn option is specified all controllers connecting to the Subsystem identified by subnqn will be removed. If the --device option is specified the controller specified by the --device option will be removed.

OPTIONS

-n <subnqn>
--nqn <subnqn>

Indicates that all controllers for the NVMe subsystems specified should be removed.

-d <device>
--device <device>

Indicates that the controller with the specified name should be removed.

EXAMPLES

  • Disconnect all controllers for a subsystem named nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432:

    # nvme disconnect --nqn=nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
  • Disconnect the controller nvme4

    # nvme disconnect --device=nvme4

SEE ALSO

nvme-connect(1)

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-disconnect.txt000066400000000000000000000022661352532746300215630ustar00rootroot00000000000000nvme-disconnect(1) ================== NAME ---- nvme-disconnect - Disconnect one or more Fabrics controller(s). SYNOPSIS -------- [verse] 'nvme disconnect' [--nqn= | -n ] [--device= | -d ] DESCRIPTION ----------- Disconnects and removes one or more existing NVMe over Fabrics controllers. If the --nqn option is specified all controllers connecting to the Subsystem identified by subnqn will be removed. If the --device option is specified the controller specified by the --device option will be removed. OPTIONS ------- -n :: --nqn :: Indicates that all controllers for the NVMe subsystems specified should be removed. -d :: --device :: Indicates that the controller with the specified name should be removed. EXAMPLES -------- * Disconnect all controllers for a subsystem named nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432: + ------------ # nvme disconnect --nqn=nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 ------------ * Disconnect the controller nvme4 + ------------ # nvme disconnect --device=nvme4 ------------ SEE ALSO -------- nvme-connect(1) NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-discover.1000066400000000000000000000210601352532746300205620ustar00rootroot00000000000000'\" t .\" Title: nvme-discover .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 08/15/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-DISCOVER" "1" "08/15/2019" "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-discover \- Send Get Log Page request to Discovery Controller\&. .SH "SYNOPSIS" .sp .nf \fInvme discover\fR [\-\-transport= | \-t ] [\-\-traddr= | \-a ] [\-\-trsvcid= | \-s ] [\-\-host\-traddr= | \-w ] [\-\-hostnqn= | \-q ] [\-\-hostid= | \-I ] [\-\-raw= | \-r ] [\-\-keep\-alive\-tmo= | \-k ] [\-\-reconnect\-delay=<#> | \-c <#>] [\-\-ctrl\-loss\-tmo=<#> | \-l <#>] [\-\-hdr_digest | \-g] [\-\-data_digest | \-G] [\-\-nr\-io\-queues=<#> | \-i <#>] [\-\-nr\-write\-queues=<#> | \-W <#>] [\-\-nr\-poll\-queues=<#> | \-P <#>] [\-\-queue\-size=<#> | \-Q <#>] .fi .SH "DESCRIPTION" .sp Send one or more Get Log Page requests to a NVMe\-over\-Fabrics Discovery Controller\&. .sp If no parameters are given, then \fInvme discover\fR will attempt to find a /etc/nvme/discovery\&.conf file to use to supply a list of Discovery commands to run\&. If no /etc/nvme/discovery\&.conf file exists, the command will quit with an error\&. .sp Otherwise, a specific Discovery Controller should be specified using the \-\-transport, \-\-traddr, and if necessary the \-\-trsvcid flags\&. A Diѕcovery request will then be sent to the specified Discovery Controller\&. .SH "BACKGROUND" .sp The NVMe\-over\-Fabrics specification defines the concept of a Discovery Controller that an NVMe Host can query on a fabric network to discover NVMe subsystems contained in NVMe Targets which it can connect to on the network\&. The Discovery Controller will return Discovery Log Pages that provide the NVMe Host with specific information (such as network address and unique subsystem NQN) the NVMe Host can use to issue an NVMe connect command to connect itself to a storage resource contained in that NVMe subsystem on the NVMe Target\&. .sp Note that the base NVMe specification defines the NQN (NVMe Qualified Name) format which an NVMe endpoint (device, subsystem, etc) must follow to guarantee a unique name under the NVMe standard\&. In particular, the Host NQN uniquely identifies the NVMe Host, and may be used by the the Discovery Controller to control what NVMe Target resources are allocated to the NVMe Host for a connection\&. .sp A Discovery Controller has it\(cqs own NQN defined in the NVMe\-over\-Fabrics specification, \fBnqn\&.2014\-08\&.org\&.nvmexpress\&.discovery\fR\&. All Discovery Controllers must use this NQN name\&. This NQN is used by default by nvme\-cli for the \fIdiscover\fR command\&. .SH "OPTIONS" .PP \-t , \-\-transport= .RS 4 This field specifies the network fabric being used for a NVMe\-over\-Fabrics network\&. Current string values include: .TS allbox tab(:); lt lt lt lt lt lt lt lt. T{ Value T}:T{ Definition T} T{ rdma T}:T{ The network fabric is an rdma network (RoCE, iWARP, Infiniband, basic rdma, etc) T} T{ fc T}:T{ \fBWIP\fR The network fabric is a Fibre Channel network\&. T} T{ loop T}:T{ Connect to a NVMe over Fabrics target on the local host T} .TE .sp 1 .RE .PP \-a , \-\-traddr= .RS 4 This field specifies the network address of the Discovery Controller\&. For transports using IP addressing (e\&.g\&. rdma) this should be an IP\-based (ex\&. IPv4) address\&. .RE .PP \-s , \-\-trsvcid= .RS 4 This field specifies the transport service id\&. For transports using IP addressing (e\&.g\&. rdma) this field is the port number\&. By default, the IP port number for the RDMA transport is 4420\&. .RE .PP \-w , \-\-host\-traddr= .RS 4 This field specifies the network address used on the host to connect to the Discovery Controller\&. .RE .PP \-q , \-\-hostnqn= .RS 4 Overrides the default host NQN that identifies the NVMe Host\&. If this option is not specified, the default is read from /etc/nvme/hostnqn first\&. If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next\&. .RE .PP \-I , \-\-hostid= .RS 4 UUID(Universally Unique Identifier) to be discovered which should be formatted\&. .RE .PP \-r , \-\-raw= .RS 4 This field will take the output of the \fInvme discover\fR command and dump it to a raw binary file\&. By default \fInvme discover\fR will dump the output to stdout\&. .RE .PP \-k <#>, \-\-keep\-alive\-tmo=<#> .RS 4 Overrides the default dealy (in seconds) for keep alive\&. This option will be ignored for the discovery, and it is only implemented for completeness\&. .RE .PP \-c <#>, \-\-reconnect\-delay=<#> .RS 4 Overrides the default delay (in seconds) before reconnect is attempted after a connect loss\&. .RE .PP \-l <#>, \-\-ctrl\-loss\-tmo=<#> .RS 4 Overrides the default controller loss timeout period (in seconds)\&. .RE .PP \-g, \-\-hdr_digest .RS 4 Generates/verifies header digest (TCP)\&. .RE .PP \-G, \-\-data_digest .RS 4 Generates/verifies data digest (TCP)\&. .RE .PP \-i <#>, \-\-nr\-io\-queues=<#> .RS 4 Overrides the default number of I/O queues create by the driver\&. This option will be ignored for the discovery, and it is only implemented for completeness\&. .RE .PP \-W <#>, \-\-nr\-write\-queues=<#> .RS 4 Adds additional queues that will be used for write I/O\&. .RE .PP \-P <#>, \-\-nr\-poll\-queues=<#> .RS 4 Adds additional queues that will be used for polling latency sensitive I/O\&. .RE .PP \-Q <#>, \-\-queue\-size=<#> .RS 4 Overrides the default number of elements in the I/O queues created by the driver which can be found at drivers/nvme/host/fabrics\&.h\&. This option will be ignored for the discovery, and it is only implemented for completeness\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Query the Discover Controller with IP4 address 192\&.168\&.1\&.3 for all resources allocated for NVMe Host name host1\-rogue\-nqn on the RDMA network\&. Port 4420 is used by default: .sp .if n \{\ .RS 4 .\} .nf # nvme discover \-\-transport=rdma \-\-traddr=192\&.168\&.1\&.3 \e \-\-hostnqn=host1\-rogue\-nqn .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Issue a \fInvme discover\fR command using a /etc/nvme/discovery\&.conf file: .sp .if n \{\ .RS 4 .\} .nf # Machine default \*(Aqnvme discover\*(Aq commands\&. Query the # Discovery Controller\*(Aqs two ports (some resources may only # be accessible on a single port)\&. Note an official # nqn (Host) name defined in the NVMe specification is being used # in this example\&. \-t rdma \-a 192\&.168\&.69\&.33 \-s 4420 \-q nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 \-t rdma \-a 192\&.168\&.1\&.4 \-s 4420 \-q nqn\&.2014\-08\&.com\&.example:nvme:nvm\-subsystem\-sn\-d78432 At the prompt type "nvme discover"\&. .fi .if n \{\ .RE .\} .RE .SH "SEE ALSO" .sp nvme\-connect(1) nvme\-connect\-all(1) .SH "AUTHORS" .sp This was written by \m[blue]\fBJay Freyensee\fR\m[]\&\s-2\u[1]\d\s+2 for \m[blue]\fBKeith Busch\fR\m[]\&\s-2\u[2]\d\s+2\&. .SH "NVME" .sp Part of the nvme\-user suite .SH "NOTES" .IP " 1." 4 Jay Freyensee .RS 4 \%mailto:james.p.freyensee@intel.com .RE .IP " 2." 4 Keith Busch .RS 4 \%mailto:keith.busch@intel.com .RE nvme-cli-1.9/Documentation/nvme-discover.html000066400000000000000000000650211352532746300213730ustar00rootroot00000000000000 nvme-discover(1)

SYNOPSIS

nvme discover
                [--transport=<trtype>     | -t <trtype>]
                [--traddr=<traddr>        | -a <traddr>]
                [--trsvcid=<trsvcid>      | -s <trsvcid>]
                [--host-traddr=<traddr>   | -w <traddr>]
                [--hostnqn=<hostnqn>      | -q <hostnqn>]
                [--hostid=<hostid>        | -I <hostid>]
                [--raw=<filename>         | -r <filename>]
                [--keep-alive-tmo=<sec>   | -k <sec>]
                [--reconnect-delay=<#>    | -c <#>]
                [--ctrl-loss-tmo=<#>      | -l <#>]
                [--hdr_digest             | -g]
                [--data_digest            | -G]
                [--nr-io-queues=<#>       | -i <#>]
                [--nr-write-queues=<#>    | -W <#>]
                [--nr-poll-queues=<#>     | -P <#>]
                [--queue-size=<#>         | -Q <#>]

DESCRIPTION

Send one or more Get Log Page requests to a NVMe-over-Fabrics Discovery Controller.

If no parameters are given, then nvme discover will attempt to find a /etc/nvme/discovery.conf file to use to supply a list of Discovery commands to run. If no /etc/nvme/discovery.conf file exists, the command will quit with an error.

Otherwise, a specific Discovery Controller should be specified using the --transport, --traddr, and if necessary the --trsvcid flags. A Diѕcovery request will then be sent to the specified Discovery Controller.

BACKGROUND

The NVMe-over-Fabrics specification defines the concept of a Discovery Controller that an NVMe Host can query on a fabric network to discover NVMe subsystems contained in NVMe Targets which it can connect to on the network. The Discovery Controller will return Discovery Log Pages that provide the NVMe Host with specific information (such as network address and unique subsystem NQN) the NVMe Host can use to issue an NVMe connect command to connect itself to a storage resource contained in that NVMe subsystem on the NVMe Target.

Note that the base NVMe specification defines the NQN (NVMe Qualified Name) format which an NVMe endpoint (device, subsystem, etc) must follow to guarantee a unique name under the NVMe standard. In particular, the Host NQN uniquely identifies the NVMe Host, and may be used by the the Discovery Controller to control what NVMe Target resources are allocated to the NVMe Host for a connection.

A Discovery Controller has it’s own NQN defined in the NVMe-over-Fabrics specification, nqn.2014-08.org.nvmexpress.discovery. All Discovery Controllers must use this NQN name. This NQN is used by default by nvme-cli for the discover command.

OPTIONS

-t <trtype>
--transport=<trtype>

This field specifies the network fabric being used for a NVMe-over-Fabrics network. Current string values include:

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.

loop

Connect to a NVMe over Fabrics target on the local host

-a <traddr>
--traddr=<traddr>

This field specifies the network address of the Discovery Controller. For transports using IP addressing (e.g. rdma) this should be an IP-based (ex. IPv4) address.

-s <trsvcid>
--trsvcid=<trsvcid>

This field specifies the transport service id. For transports using IP addressing (e.g. rdma) this field is the port number. By default, the IP port number for the RDMA transport is 4420.

-w <traddr>
--host-traddr=<traddr>

This field specifies the network address used on the host to connect to the Discovery Controller.

-q <hostnqn>
--hostnqn=<hostnqn>

Overrides the default host NQN that identifies the NVMe Host. If this option is not specified, the default is read from /etc/nvme/hostnqn first. If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next.

-I <hostid>
--hostid=<hostid>

UUID(Universally Unique Identifier) to be discovered which should be formatted.

-r <filename>
--raw=<filename>

This field will take the output of the nvme discover command and dump it to a raw binary file. By default nvme discover will dump the output to stdout.

-k <#>
--keep-alive-tmo=<#>

Overrides the default dealy (in seconds) for keep alive. This option will be ignored for the discovery, and it is only implemented for completeness.

-c <#>
--reconnect-delay=<#>

Overrides the default delay (in seconds) before reconnect is attempted after a connect loss.

-l <#>
--ctrl-loss-tmo=<#>

Overrides the default controller loss timeout period (in seconds).

-g
--hdr_digest

Generates/verifies header digest (TCP).

-G
--data_digest

Generates/verifies data digest (TCP).

-i <#>
--nr-io-queues=<#>

Overrides the default number of I/O queues create by the driver. This option will be ignored for the discovery, and it is only implemented for completeness.

-W <#>
--nr-write-queues=<#>

Adds additional queues that will be used for write I/O.

-P <#>
--nr-poll-queues=<#>

Adds additional queues that will be used for polling latency sensitive I/O.

-Q <#>
--queue-size=<#>

Overrides the default number of elements in the I/O queues created by the driver which can be found at drivers/nvme/host/fabrics.h. This option will be ignored for the discovery, and it is only implemented for completeness.

EXAMPLES

  • Query the Discover Controller with IP4 address 192.168.1.3 for all resources allocated for NVMe Host name host1-rogue-nqn on the RDMA network. Port 4420 is used by default:

    # nvme discover --transport=rdma --traddr=192.168.1.3 \
    --hostnqn=host1-rogue-nqn
  • Issue a nvme discover command using a /etc/nvme/discovery.conf file:

    # Machine default 'nvme discover' commands.  Query the
    # Discovery Controller's two ports (some resources may only
    # be accessible on a single port).  Note an official
    # nqn (Host) name defined in the NVMe specification is being used
    # in this example.
    -t rdma -a 192.168.69.33 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
    -t rdma -a 192.168.1.4   -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432
    
    At the prompt type "nvme discover".

SEE ALSO

nvme-connect(1) nvme-connect-all(1)

AUTHORS

This was written by Jay Freyensee for Keith Busch.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-discover.txt000066400000000000000000000144641352532746300212530ustar00rootroot00000000000000nvme-discover(1) ================ NAME ---- nvme-discover - Send Get Log Page request to Discovery Controller. SYNOPSIS -------- [verse] 'nvme discover' [--transport= | -t ] [--traddr= | -a ] [--trsvcid= | -s ] [--host-traddr= | -w ] [--hostnqn= | -q ] [--hostid= | -I ] [--raw= | -r ] [--keep-alive-tmo= | -k ] [--reconnect-delay=<#> | -c <#>] [--ctrl-loss-tmo=<#> | -l <#>] [--hdr_digest | -g] [--data_digest | -G] [--nr-io-queues=<#> | -i <#>] [--nr-write-queues=<#> | -W <#>] [--nr-poll-queues=<#> | -P <#>] [--queue-size=<#> | -Q <#>] DESCRIPTION ----------- Send one or more Get Log Page requests to a NVMe-over-Fabrics Discovery Controller. If no parameters are given, then 'nvme discover' will attempt to find a /etc/nvme/discovery.conf file to use to supply a list of Discovery commands to run. If no /etc/nvme/discovery.conf file exists, the command will quit with an error. Otherwise, a specific Discovery Controller should be specified using the --transport, --traddr, and if necessary the --trsvcid flags. A Diѕcovery request will then be sent to the specified Discovery Controller. BACKGROUND ---------- The NVMe-over-Fabrics specification defines the concept of a Discovery Controller that an NVMe Host can query on a fabric network to discover NVMe subsystems contained in NVMe Targets which it can connect to on the network. The Discovery Controller will return Discovery Log Pages that provide the NVMe Host with specific information (such as network address and unique subsystem NQN) the NVMe Host can use to issue an NVMe connect command to connect itself to a storage resource contained in that NVMe subsystem on the NVMe Target. Note that the base NVMe specification defines the NQN (NVMe Qualified Name) format which an NVMe endpoint (device, subsystem, etc) must follow to guarantee a unique name under the NVMe standard. In particular, the Host NQN uniquely identifies the NVMe Host, and may be used by the the Discovery Controller to control what NVMe Target resources are allocated to the NVMe Host for a connection. A Discovery Controller has it's own NQN defined in the NVMe-over-Fabrics specification, *nqn.2014-08.org.nvmexpress.discovery*. All Discovery Controllers must use this NQN name. This NQN is used by default by nvme-cli for the 'discover' command. OPTIONS ------- -t :: --transport=:: This field specifies the network fabric being used for a NVMe-over-Fabrics network. Current string values include: + [] |================= |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. |loop|Connect to a NVMe over Fabrics target on the local host |================= -a :: --traddr=:: This field specifies the network address of the Discovery Controller. For transports using IP addressing (e.g. rdma) this should be an IP-based (ex. IPv4) address. -s :: --trsvcid=:: This field specifies the transport service id. For transports using IP addressing (e.g. rdma) this field is the port number. By default, the IP port number for the RDMA transport is 4420. -w :: --host-traddr=:: This field specifies the network address used on the host to connect to the Discovery Controller. -q :: --hostnqn=:: Overrides the default host NQN that identifies the NVMe Host. If this option is not specified, the default is read from /etc/nvme/hostnqn first. If that does not exist, the autogenerated NQN value from the NVMe Host kernel module is used next. -I :: --hostid=:: UUID(Universally Unique Identifier) to be discovered which should be formatted. -r :: --raw=:: This field will take the output of the 'nvme discover' command and dump it to a raw binary file. By default 'nvme discover' will dump the output to stdout. -k <#>:: --keep-alive-tmo=<#>:: Overrides the default dealy (in seconds) for keep alive. This option will be ignored for the discovery, and it is only implemented for completeness. -c <#>:: --reconnect-delay=<#>:: Overrides the default delay (in seconds) before reconnect is attempted after a connect loss. -l <#>:: --ctrl-loss-tmo=<#>:: Overrides the default controller loss timeout period (in seconds). -g:: --hdr_digest:: Generates/verifies header digest (TCP). -G:: --data_digest:: Generates/verifies data digest (TCP). -i <#>:: --nr-io-queues=<#>:: Overrides the default number of I/O queues create by the driver. This option will be ignored for the discovery, and it is only implemented for completeness. -W <#>:: --nr-write-queues=<#>:: Adds additional queues that will be used for write I/O. -P <#>:: --nr-poll-queues=<#>:: Adds additional queues that will be used for polling latency sensitive I/O. -Q <#>:: --queue-size=<#>:: Overrides the default number of elements in the I/O queues created by the driver which can be found at drivers/nvme/host/fabrics.h. This option will be ignored for the discovery, and it is only implemented for completeness. EXAMPLES -------- * Query the Discover Controller with IP4 address 192.168.1.3 for all resources allocated for NVMe Host name host1-rogue-nqn on the RDMA network. Port 4420 is used by default: + ------------ # nvme discover --transport=rdma --traddr=192.168.1.3 \ --hostnqn=host1-rogue-nqn ------------ + * Issue a 'nvme discover' command using a /etc/nvme/discovery.conf file: + ----------- # Machine default 'nvme discover' commands. Query the # Discovery Controller's two ports (some resources may only # be accessible on a single port). Note an official # nqn (Host) name defined in the NVMe specification is being used # in this example. -t rdma -a 192.168.69.33 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 -t rdma -a 192.168.1.4 -s 4420 -q nqn.2014-08.com.example:nvme:nvm-subsystem-sn-d78432 At the prompt type "nvme discover". ------------ SEE ALSO -------- nvme-connect(1) nvme-connect-all(1) AUTHORS ------- This was written by mailto:james.p.freyensee@intel.com[Jay Freyensee] for mailto:keith.busch@intel.com[Keith Busch]. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-dsm.1000066400000000000000000000073211352532746300175330ustar00rootroot00000000000000'\" t .\" Title: nvme-dsm .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-DSM" "1" "01/08/2019" "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-dsm \- Send NVMe Data Set Management, return results .SH "SYNOPSIS" .sp .nf \fInvme dsm\fR [ \-\-namespace\-id= | \-n ] [ \-\-ctx\-attrs= | \-a ] [ \-\-blocks= | \-b ] [ \-\-slbs= | \-s ] [ \-\-ad | \-d ] [ \-\-idw | \-w ] [ \-\-idr | \-r ] [ \-\-cdw11= | \-c ] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends an Data Set Management command and provides the result and returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. If the character device is given, the \*(Aq\-\-namespace\-id\*(Aq option is mandatory, otherwise it will use the ns\-id of the namespace for the block device you opened\&. For block devices, the ns\-id used can be overridden with the same option\&. .sp You must specify at least one of the values for range list\&. If the range lists provided do not list the same number of elements, the default values for the remaining in the range will be set to 0\&. .sp The command dword 11 may be provided at the command line\&. For convenience, the current defined attributes (discard, integral read/write) for a data\-set management have flags\&. If cdw11 is specified, this will override any settings from the flags may have provided\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Sends the command with the requested nsid\&. This is required for the character devices, or overrides the block nsid if given\&. .RE .PP \-a , \-\-ctx\-attrs= .RS 4 Comma separated list of the context attributes in each range .RE .PP \-b , \-\-blocks= .RS 4 Comma separated list of the number of blocks in each range .RE .PP \-s , \-\-slbs= .RS 4 Comma separated list of the starting block in each range .RE .PP \-d , \-\-ad= .RS 4 Attribute Deallocate\&. .RE .PP \-w , \-\-idw= .RS 4 Attribute Integral Dataset for Write\&. .RE .PP \-r , \-\-idr= .RS 4 Attribute Integral Dataset for Read\&. .RE .PP \-c , \-\-cdw11= .RS 4 All the command command dword 11 attributes\&. Use exclusive from specifying individual attributes .RE .SH "EXAMPLES" .sp No examples yet .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-dsm.html000066400000000000000000000500741352532746300203420ustar00rootroot00000000000000 nvme-dsm(1)

SYNOPSIS

nvme dsm <device>  [ --namespace-id=<nsid> | -n <nsid> ]
                        [ --ctx-attrs=<attribute-list,> | -a <attribute-list,> ]
                        [ --blocks=<nlb-list,> | -b <nlb-list,> ]
                        [ --slbs=<slba-list,> | -s <slba-list,> ]
                        [ --ad | -d ] [ --idw | -w ] [ --idr | -r ]
                        [ --cdw11=<cdw11> | -c <cdw11> ]

DESCRIPTION

For the NVMe device given, sends an Data Set Management command and provides the result and 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). If the character device is given, the '--namespace-id' option is mandatory, otherwise it will use the ns-id of the namespace for the block device you opened. For block devices, the ns-id used can be overridden with the same option.

You must specify at least one of the values for range list. If the range lists provided do not list the same number of elements, the default values for the remaining in the range will be set to 0.

The command dword 11 may be provided at the command line. For convenience, the current defined attributes (discard, integral read/write) for a data-set management have flags. If cdw11 is specified, this will override any settings from the flags may have provided.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Sends the command with the requested nsid. This is required for the character devices, or overrides the block nsid if given.

-a <attribute-list,>
--ctx-attrs=<attribute-list>

Comma separated list of the context attributes in each range

-b <nlb-list,>
--blocks=<nlb-list,>

Comma separated list of the number of blocks in each range

-s <slba-list,>
--slbs=<slba-list,>

Comma separated list of the starting block in each range

-d <deallocate>
--ad=<deallocate>

Attribute Deallocate.

-w <write>
--idw=<write>

Attribute Integral Dataset for Write.

-r <read>
--idr=<read>

Attribute Integral Dataset for Read.

-c <cdw11>
--cdw11=<cdw11>

All the command command dword 11 attributes. Use exclusive from specifying individual attributes

EXAMPLES

No examples yet

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-dsm.txt000066400000000000000000000043641352532746300202160ustar00rootroot00000000000000nvme-dsm(1) =========== NAME ---- nvme-dsm - Send NVMe Data Set Management, return results SYNOPSIS -------- [verse] 'nvme dsm' [ --namespace-id= | -n ] [ --ctx-attrs= | -a ] [ --blocks= | -b ] [ --slbs= | -s ] [ --ad | -d ] [ --idw | -w ] [ --idr | -r ] [ --cdw11= | -c ] DESCRIPTION ----------- For the NVMe device given, sends an Data Set Management command and provides the result and returned structure. The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). If the character device is given, the `'--namespace-id'` option is mandatory, otherwise it will use the ns-id of the namespace for the block device you opened. For block devices, the ns-id used can be overridden with the same option. You must specify at least one of the values for range list. If the range lists provided do not list the same number of elements, the default values for the remaining in the range will be set to 0. The command dword 11 may be provided at the command line. For convenience, the current defined attributes (discard, integral read/write) for a data-set management have flags. If cdw11 is specified, this will override any settings from the flags may have provided. OPTIONS ------- -n :: --namespace-id=:: Sends the command with the requested nsid. This is required for the character devices, or overrides the block nsid if given. -a :: --ctx-attrs=:: Comma separated list of the context attributes in each range -b :: --blocks=:: Comma separated list of the number of blocks in each range -s :: --slbs=:: Comma separated list of the starting block in each range -d :: --ad=:: Attribute Deallocate. -w :: --idw=:: Attribute Integral Dataset for Write. -r :: --idr=:: Attribute Integral Dataset for Read. -c :: --cdw11=:: All the command command dword 11 attributes. Use exclusive from specifying individual attributes EXAMPLES -------- No examples yet NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-effects-log.1000066400000000000000000000056211352532746300211470ustar00rootroot00000000000000'\" t .\" Title: nvme-effects-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-EFFECTS\-LOG" "1" "04/08/2019" "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-effects-log \- Send NVMe Command Effects log page request, returns result and log .SH "SYNOPSIS" .sp .nf \fInvme effects\-log\fR [\-\-output\-format= | \-o ] [\-\-human\-readable | \-H] [\-\-raw\-binary | \-b] .fi .SH "DESCRIPTION" .sp Retrieves the NVMe Command Effects log page from an NVMe device and provides the returned structure\&. .sp The parameter is mandatory and should be the NVMe character device (ex: /dev/nvme0)\&. .sp On success, the returned command effects log structure will be printed for each command that is supported\&. .SH "OPTIONS" .PP \-o , \-\-output\-format= .RS 4 This option will set the reporting format to normal, json, or binary\&. Only one output format can be used at a time\&. .RE .PP \-H, \-\-human\-readable .RS 4 This option will parse and format many of the bit fields into a human\-readable format\&. .RE .PP \-b, \-\-raw\-binary .RS 4 This option will print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the human\-readable option\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Print the effects log page in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme effects\-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 .\} Have the program return the raw structure in binary: .sp .if n \{\ .RS 4 .\} .nf # nvme effects\-log /dev/nvme0 \-\-raw\-binary > effects_log\&.raw # nvme effects\-log /dev/nvme0 \-b > effects_log\&.raw .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-effects-log.html000066400000000000000000000455131352532746300217570ustar00rootroot00000000000000 nvme-effects-log(1)

SYNOPSIS

nvme effects-log <device> [--output-format=<fmt> | -o <fmt>]
                            [--human-readable | -H]
                            [--raw-binary | -b]

DESCRIPTION

Retrieves the NVMe Command Effects log page from an NVMe device and provides the returned structure.

The <device> parameter is mandatory and should be the NVMe character device (ex: /dev/nvme0).

On success, the returned command effects log structure will be printed for each command that is supported.

OPTIONS

-o <format>
--output-format=<format>

This option will set the reporting format to normal, json, or binary. Only one output format can be used at a time.

-H
--human-readable

This option will parse and format many of the bit fields into a human-readable format.

-b
--raw-binary

This option will print the raw buffer to stdout. Structure is not parsed by program. This overrides the human-readable option.

EXAMPLES

  • Print the effects log page in a human readable format:

    # nvme effects-log /dev/nvme0
  • Have the program return the raw structure in binary:

    # nvme effects-log /dev/nvme0 --raw-binary > effects_log.raw
    # nvme effects-log /dev/nvme0 -b > effects_log.raw

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-effects-log.txt000066400000000000000000000026751352532746300216340ustar00rootroot00000000000000nvme-effects-log(1) =================== NAME ---- nvme-effects-log - Send NVMe Command Effects log page request, returns result and log SYNOPSIS -------- [verse] 'nvme effects-log' [--output-format= | -o ] [--human-readable | -H] [--raw-binary | -b] DESCRIPTION ----------- Retrieves the NVMe Command Effects log page from an NVMe device and provides the returned structure. The parameter is mandatory and should be the NVMe character device (ex: /dev/nvme0). On success, the returned command effects log structure will be printed for each command that is supported. OPTIONS ------- -o :: --output-format=:: This option will set the reporting format to normal, json, or binary. Only one output format can be used at a time. -H:: --human-readable:: This option will parse and format many of the bit fields into a human-readable format. -b:: --raw-binary:: This option will print the raw buffer to stdout. Structure is not parsed by program. This overrides the human-readable option. EXAMPLES -------- * Print the effects log page in a human readable format: + ------------ # nvme effects-log /dev/nvme0 ------------ + * Have the program return the raw structure in binary: + ------------ # nvme effects-log /dev/nvme0 --raw-binary > effects_log.raw # nvme effects-log /dev/nvme0 -b > effects_log.raw ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-endurance-log.1000066400000000000000000000056071352532746300215000ustar00rootroot00000000000000'\" t .\" Title: nvme-endurance-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-ENDURANCE\-LOG" "1" "04/08/2019" "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-log \- Send NVMe Endurance log page request, returns result and log .SH "SYNOPSIS" .sp .nf \fInvme endurance\-log\fR [\-\-group\-id= | \-g ] [\-\-output\-format= | \-o ] .fi .SH "DESCRIPTION" .sp Retrieves the NVMe Endurance log page from an NVMe device and provides the returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned endurance 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 \-g , \-\-group\-id= .RS 4 The endurance group identifier\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .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\-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\-log /dev/nvme0 \-\-output=binary > endurance_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 nvme-cli-1.9/Documentation/nvme-endurance-log.html000066400000000000000000000453241352532746300223040ustar00rootroot00000000000000 nvme-endurance-log(1)

SYNOPSIS

nvme endurance-log <device> [--group-id=<group> | -g <group>]
                        [--output-format=<fmt> | -o <fmt>]

DESCRIPTION

Retrieves the NVMe Endurance 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 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

-g <group>
--group-id=<group>

The endurance group identifier.

-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-log /dev/nvme0
  • Print the raw Endurance log to a file:

    # nvme endurance-log /dev/nvme0 --output=binary > endurance_log.raw

    It is probably a bad idea to not redirect stdout when using this mode.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-endurance-log.txt000066400000000000000000000027021352532746300221500ustar00rootroot00000000000000nvme-endurance-log(1) ===================== NAME ---- nvme-endurance-log - Send NVMe Endurance log page request, returns result and log SYNOPSIS -------- [verse] 'nvme endurance-log' [--group-id= | -g ] [--output-format= | -o ] DESCRIPTION ----------- Retrieves the NVMe Endurance log page from an NVMe device and provides the returned structure. The 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 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 ------- -g :: --group-id=:: The endurance group identifier. -o :: --output-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-log /dev/nvme0 ------------ + * Print the raw Endurance log to a file: + ------------ # nvme endurance-log /dev/nvme0 --output=binary > endurance_log.raw ------------ + It is probably a bad idea to not redirect stdout when using this mode. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-error-log.1000066400000000000000000000061451352532746300206630ustar00rootroot00000000000000'\" t .\" Title: nvme-error-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-ERROR\-LOG" "1" "04/08/2019" "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-error-log \- Send NVME Error log page request, return result and log .SH "SYNOPSIS" .sp .nf \fInvme error\-log\fR [\-\-log\-entries= | \-e ] [\-\-raw\-binary | \-b] [\-\-output\-format= | \-o ] .fi .SH "DESCRIPTION" .sp Retrieves NVMe Error log page from an NVMe device and provides the returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned error 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 or the raw buffer may be printed to stdout for another program to parse\&. .SH "OPTIONS" .PP \-e , \-\-log\-entries= .RS 4 Specifies how many log entries the program should request from the device\&. This must be at least one, and shouldn\(cqt exceed the device\(cqs capabilities\&. Defaults to 64 log entries\&. .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw error log buffer to stdout\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Get the error log and print it in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme error\-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 output to a file: .sp .if n \{\ .RS 4 .\} .nf # nvme error\-log /dev/nvme0 \-\-raw\-binary > error_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 nvme-cli-1.9/Documentation/nvme-error-log.html000066400000000000000000000461641352532746300214740ustar00rootroot00000000000000 nvme-error-log(1)

SYNOPSIS

nvme error-log <device>  [--log-entries=<entries> | -e <entries>]
                         [--raw-binary | -b]
                         [--output-format=<fmt> | -o <fmt>]

DESCRIPTION

Retrieves NVMe Error 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 error 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 or the raw buffer may be printed to stdout for another program to parse.

OPTIONS

-e <entries>
--log-entries=<entries>

Specifies how many log entries the program should request from the device. This must be at least one, and shouldn’t exceed the device’s capabilities. Defaults to 64 log entries.

-b
--raw-binary

Print the raw error log buffer to stdout.

-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

  • Get the error log and print it in a human readable format:

    # nvme error-log /dev/nvme0
  • Print the raw output to a file:

    # nvme error-log /dev/nvme0 --raw-binary > error_log.raw

    It is probably a bad idea to not redirect stdout when using this mode.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-error-log.txt000066400000000000000000000031601352532746300213340ustar00rootroot00000000000000nvme-error-log(1) ================= NAME ---- nvme-error-log - Send NVME Error log page request, return result and log SYNOPSIS -------- [verse] 'nvme error-log' [--log-entries= | -e ] [--raw-binary | -b] [--output-format= | -o ] DESCRIPTION ----------- Retrieves NVMe Error log page from an NVMe device and provides the returned structure. The 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 error 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 or the raw buffer may be printed to stdout for another program to parse. OPTIONS ------- -e :: --log-entries=:: Specifies how many log entries the program should request from the device. This must be at least one, and shouldn't exceed the device's capabilities. Defaults to 64 log entries. -b:: --raw-binary:: Print the raw error log buffer to stdout. -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- * Get the error log and print it in a human readable format: + ------------ # nvme error-log /dev/nvme0 ------------ + * Print the raw output to a file: + ------------ # nvme error-log /dev/nvme0 --raw-binary > error_log.raw ------------ + It is probably a bad idea to not redirect stdout when using this mode. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-flush.1000066400000000000000000000036341352532746300200740ustar00rootroot00000000000000'\" t .\" Title: nvme-flush .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-FLUSH" "1" "01/08/2019" "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-flush \- Flush command\&. .SH "SYNOPSIS" .sp .nf \fInvme flush\fR [\-\-namespace\-id= | \-n ] .fi .SH "DESCRIPTION" .sp The Flush command shall commit data and metadata associated with the specified namespace(s) to nonvolatile media\&. The flush applies to all commands completed prior to the submission of the Flush command\&. The controller may also flush additional data and/or metadata from any namespace\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Specify the optional namespace id for this command\&. Defaults to 0xffffffff, indicating flush for all namespaces\&. .RE .SH "EXAMPLES" .sp No examples yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-flush.html000066400000000000000000000430541352532746300207000ustar00rootroot00000000000000 nvme-flush(1)

SYNOPSIS

nvme flush <device> [--namespace-id=<nsid> | -n <nsid>]

DESCRIPTION

The Flush command shall commit data and metadata associated with the specified namespace(s) to nonvolatile media. The flush applies to all commands completed prior to the submission of the Flush command. The controller may also flush additional data and/or metadata from any namespace.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Specify the optional namespace id for this command. Defaults to 0xffffffff, indicating flush for all namespaces.

EXAMPLES

No examples yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-flush.txt000066400000000000000000000013021352532746300205410ustar00rootroot00000000000000nvme-flush(1) ============= NAME ---- nvme-flush - Flush command. SYNOPSIS -------- [verse] 'nvme flush' [--namespace-id= | -n ] DESCRIPTION ----------- The Flush command shall commit data and metadata associated with the specified namespace(s) to nonvolatile media. The flush applies to all commands completed prior to the submission of the Flush command. The controller may also flush additional data and/or metadata from any namespace. OPTIONS ------- -n :: --namespace-id=:: Specify the optional namespace id for this command. Defaults to 0xffffffff, indicating flush for all namespaces. EXAMPLES -------- No examples yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-format.1000066400000000000000000000160471352532746300202450ustar00rootroot00000000000000'\" t .\" Title: nvme-format .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 08/15/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-FORMAT" "1" "08/15/2019" "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-format \- Format an NVMe device .SH "SYNOPSIS" .sp .nf \fInvme format\fR [\-\-namespace\-id= | \-n ] [\-\-lbaf= | \-l ] [\-\-block\-size=] [\-\-ses= | \-s ] [\-\-pil= | \-p ] [\-\-pi= | \-i ] [\-\-ms= | \-m ] [\-\-reset | \-r ] [\-\-timeout= | \-t ] .fi .SH "DESCRIPTION" .sp For the NVMe device given, send an nvme Format Namespace admin command and provides the results\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. If the character device is given, and the controller does not support formatting of particular namespaces (ID_CTRL\&.FNA bit 0 enabled), then all namespaces will be formatted\&. If FNA is disabled, then the namespace identifier must be specified with the \fInamespace\-id\fR option; specify a value of 0xffffffff to send the format to all namespaces\&. If the block device is given, the namespace identifier will default to the namespace ID of the block device given, but can be overridden with the same option\&. .sp Note, the numeric suffix on the character device, for example the \fI0\fR in /dev/nvme0, does NOT indicate this device handle is the parent controller of any namespaces with the same suffix\&. The namespace handle\(cqs numeral may be coming from the subsystem identifier, which is independent of the controller\(cqs identifier\&. Do not assume any particular device relationship based on their names\&. If you do, you may irrevocably erase data on an unintended device\&. .sp On success, the program will automatically issue BLKRRPART ioctl to force rescanning the namespaces\&. If the driver is recent enough, this will automatically update the physical block size\&. If it is not recent enough, you will need to remove and rescan your device some other way for the new block size to be visible, if the size was changed with this command\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Send the format command for the specified nsid\&. This can be used to override the default value for either character device (unspecified) or the block device (result from NVME_IOCTL_ID)\&. .RE .PP \-l , \-\-lbaf= .RS 4 LBA Format: This field specifies the LBA format to apply to the NVM media\&. This corresponds to the LBA formats indicated in the Identify Namespace command\&. Conflicts with \-\-block\-size argument\&. Defaults to 0\&. .RE .PP \-b , \-\-block\-size= .RS 4 Block Size: This field is used to specify the target block size to format to\&. Potential lbaf values will be scanned and the lowest numbered will be selected for the format operation\&. Conflicts with \-\-lbaf argument\&. .RE .PP \-s , \-\-ses= .RS 4 Secure Erase Settings: This field specifies whether a secure erase should be performed as part of the format and the type of the secure erase operation\&. The erase applies to all user data, regardless of location (e\&.g\&., within an exposed LBA, within a cache, within deallocated LBAs, etc)\&. Defaults to 0\&. .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt. T{ Value T}:T{ Definition T} T{ 0 T}:T{ No secure erase operation requested T} T{ 1 T}:T{ User Data Erase: All user data shall be erased, contents of the user data after the erase is indeterminate (e\&.g\&., the user data may be zero filled, one filled, etc)\&. The controller may perform a cryptographic erase when a User Data Erase is requested if all user data is encrypted\&. T} T{ 2 T}:T{ Cryptographic Erase: All user data shall be erased cryptographically\&. This is accomplished by deleting the encryption key\&. T} T{ 3\(en7 T}:T{ Reserved T} .TE .sp 1 .RE .PP \-p , \-\-pil= .RS 4 Protection Information Location: If set to \(oq1\(cq and protection information is enabled, then protection information is transferred as the first eight bytes of metadata\&. If cleared to \(oq0\(cq and protection information is enabled, then protection information is transferred as the last eight bytes of metadata\&. Defaults to 0\&. .RE .PP \-i , \-\-pi= .RS 4 Protection Information: This field specifies whether end\-to\-end data protection is enabled and the type of protection information\&. Defaults to 0\&. .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt lt lt. T{ Value T}:T{ Definition T} T{ 0 T}:T{ Protection information is not enabled T} T{ 1 T}:T{ Protection information is enabled, Type 1 T} T{ 2 T}:T{ Protection information is enabled, Type 2 T} T{ 3 T}:T{ Protection information is enabled, Type 3 T} T{ 4\(en7 T}:T{ Reserved T} .TE .sp 1 .RE .PP \-m , \-\-ms= .RS 4 Metadata Settings: This field is set to \(oq1\(cq if the metadata is transferred as part of an extended data LBA\&. This field is cleared to \(oq0\(cq if the metadata is transferred as part of a separate buffer\&. The metadata may include protection information, based on the Protection Information (PI) field\&. Defaults to 0\&. .RE .PP \-r, \-\-reset .RS 4 Issue a reset after successful format\&. Must use the character device for this\&. .RE .PP \-t , \-\-timeout= .RS 4 Override default timeout value\&. In milliseconds\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Format the device using all defaults: .sp .if n \{\ .RS 4 .\} .nf # nvme format /dev/nvme0n1 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Format namespace 1 with user data secure erase settings and protection information: .sp .if n \{\ .RS 4 .\} .nf # nvme format /dev/nvme0 \-\-namespace\-id=1 \-\-ses=1 \-\-pi=1 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-format.html000066400000000000000000000621331352532746300210460ustar00rootroot00000000000000 nvme-format(1)

SYNOPSIS

nvme format <device> [--namespace-id=<nsid> | -n <nsid>]
                    [--lbaf=<lbaf> | -l <lbaf>]
                    [--block-size=<block size | -b <block size>]
                    [--ses=<ses> | -s <ses>]
                    [--pil=<pil> | -p <pil>]
                    [--pi=<pi> | -i <pi>]
                    [--ms=<ms> | -m <ms>]
                    [--reset | -r ]
                    [--timeout=<timeout> | -t <timeout> ]

DESCRIPTION

For the NVMe device given, send an nvme Format Namespace admin command and provides the results.

The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). If the character device is given, and the controller does not support formatting of particular namespaces (ID_CTRL.FNA bit 0 enabled), then all namespaces will be formatted. If FNA is disabled, then the namespace identifier must be specified with the namespace-id option; specify a value of 0xffffffff to send the format to all namespaces. If the block device is given, the namespace identifier will default to the namespace ID of the block device given, but can be overridden with the same option.

Note, the numeric suffix on the character device, for example the 0 in /dev/nvme0, does NOT indicate this device handle is the parent controller of any namespaces with the same suffix. The namespace handle’s numeral may be coming from the subsystem identifier, which is independent of the controller’s identifier. Do not assume any particular device relationship based on their names. If you do, you may irrevocably erase data on an unintended device.

On success, the program will automatically issue BLKRRPART ioctl to force rescanning the namespaces. If the driver is recent enough, this will automatically update the physical block size. If it is not recent enough, you will need to remove and rescan your device some other way for the new block size to be visible, if the size was changed with this command.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Send the format command for the specified nsid. This can be used to override the default value for either character device (unspecified) or the block device (result from NVME_IOCTL_ID).

-l <lbaf>
--lbaf=<lbaf>

LBA Format: This field specifies the LBA format to apply to the NVM media. This corresponds to the LBA formats indicated in the Identify Namespace command. Conflicts with --block-size argument. Defaults to 0.

-b <block size>
--block-size=<block size>

Block Size: This field is used to specify the target block size to format to. Potential lbaf values will be scanned and the lowest numbered will be selected for the format operation. Conflicts with --lbaf argument.

-s <ses>
--ses=<ses>

Secure Erase Settings: This field specifies whether a secure erase should be performed as part of the format and the type of the secure erase operation. The erase applies to all user data, regardless of location (e.g., within an exposed LBA, within a cache, within deallocated LBAs, etc). Defaults to 0.

Value

Definition

0

No secure erase operation requested

1

User Data Erase: All user data shall be erased, contents of the user data after the erase is indeterminate (e.g., the user data may be zero filled, one filled, etc). The controller may perform a cryptographic erase when a User Data Erase is requested if all user data is encrypted.

2

Cryptographic Erase: All user data shall be erased cryptographically. This is accomplished by deleting the encryption key.

3–7

Reserved

-p <pil>
--pil=<pil>

Protection Information Location: If set to ‘1’ and protection information is enabled, then protection information is transferred as the first eight bytes of metadata. If cleared to ‘0’ and protection information is enabled, then protection information is transferred as the last eight bytes of metadata. Defaults to 0.

-i <pi>
--pi=<pi>

Protection Information: This field specifies whether end-to-end data protection is enabled and the type of protection information. Defaults to 0.

Value

Definition

0

Protection information is not enabled

1

Protection information is enabled, Type 1

2

Protection information is enabled, Type 2

3

Protection information is enabled, Type 3

4–7

Reserved

-m <ms>
--ms=<ms>

Metadata Settings: This field is set to ‘1’ if the metadata is transferred as part of an extended data LBA. This field is cleared to ‘0’ if the metadata is transferred as part of a separate buffer. The metadata may include protection information, based on the Protection Information (PI) field. Defaults to 0.

-r
--reset

Issue a reset after successful format. Must use the character device for this.

-t <timeout>
--timeout=<timeout>

Override default timeout value. In milliseconds.

EXAMPLES

  • Format the device using all defaults:

    # nvme format /dev/nvme0n1
  • Format namespace 1 with user data secure erase settings and protection information:

    # nvme format /dev/nvme0 --namespace-id=1 --ses=1 --pi=1

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-format.txt000066400000000000000000000122301352532746300207120ustar00rootroot00000000000000nvme-format(1) ============== NAME ---- nvme-format - Format an NVMe device SYNOPSIS -------- [verse] 'nvme format' [--namespace-id= | -n ] [--lbaf= | -l ] [--block-size=] [--ses= | -s ] [--pil= | -p ] [--pi= | -i ] [--ms= | -m ] [--reset | -r ] [--timeout= | -t ] DESCRIPTION ----------- For the NVMe device given, send an nvme Format Namespace admin command and provides the results. The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). If the character device is given, and the controller does not support formatting of particular namespaces (ID_CTRL.FNA bit 0 enabled), then all namespaces will be formatted. If FNA is disabled, then the namespace identifier must be specified with the 'namespace-id' option; specify a value of 0xffffffff to send the format to all namespaces. If the block device is given, the namespace identifier will default to the namespace ID of the block device given, but can be overridden with the same option. Note, the numeric suffix on the character device, for example the '0' in /dev/nvme0, does NOT indicate this device handle is the parent controller of any namespaces with the same suffix. The namespace handle's numeral may be coming from the subsystem identifier, which is independent of the controller's identifier. Do not assume any particular device relationship based on their names. If you do, you may irrevocably erase data on an unintended device. On success, the program will automatically issue BLKRRPART ioctl to force rescanning the namespaces. If the driver is recent enough, this will automatically update the physical block size. If it is not recent enough, you will need to remove and rescan your device some other way for the new block size to be visible, if the size was changed with this command. OPTIONS ------- -n :: --namespace-id=:: Send the format command for the specified nsid. This can be used to override the default value for either character device (unspecified) or the block device (result from NVME_IOCTL_ID). -l :: --lbaf=:: LBA Format: This field specifies the LBA format to apply to the NVM media. This corresponds to the LBA formats indicated in the Identify Namespace command. Conflicts with --block-size argument. Defaults to 0. -b :: --block-size=:: Block Size: This field is used to specify the target block size to format to. Potential lbaf values will be scanned and the lowest numbered will be selected for the format operation. Conflicts with --lbaf argument. -s :: --ses=:: Secure Erase Settings: This field specifies whether a secure erase should be performed as part of the format and the type of the secure erase operation. The erase applies to all user data, regardless of location (e.g., within an exposed LBA, within a cache, within deallocated LBAs, etc). Defaults to 0. + [] |================= |Value|Definition |0|No secure erase operation requested |1|User Data Erase: All user data shall be erased, contents of the user data after the erase is indeterminate (e.g., the user data may be zero filled, one filled, etc). The controller may perform a cryptographic erase when a User Data Erase is requested if all user data is encrypted. |2|Cryptographic Erase: All user data shall be erased cryptographically. This is accomplished by deleting the encryption key. |3–7|Reserved |================= -p :: --pil=:: Protection Information Location: If set to ‘1’ and protection information is enabled, then protection information is transferred as the first eight bytes of metadata. If cleared to ‘0’ and protection information is enabled, then protection information is transferred as the last eight bytes of metadata. Defaults to 0. -i :: --pi=:: Protection Information: This field specifies whether end-to-end data protection is enabled and the type of protection information. Defaults to 0. + [] |================= |Value|Definition |0|Protection information is not enabled |1|Protection information is enabled, Type 1 |2|Protection information is enabled, Type 2 |3|Protection information is enabled, Type 3 |4–7|Reserved |================= -m :: --ms=:: Metadata Settings: This field is set to ‘1’ if the metadata is transferred as part of an extended data LBA. This field is cleared to ‘0’ if the metadata is transferred as part of a separate buffer. The metadata may include protection information, based on the Protection Information (PI) field. Defaults to 0. -r:: --reset:: Issue a reset after successful format. Must use the character device for this. -t :: --timeout=:: Override default timeout value. In milliseconds. EXAMPLES -------- * Format the device using all defaults: + ------------ # nvme format /dev/nvme0n1 ------------ + * Format namespace 1 with user data secure erase settings and protection information: + ------------ # nvme format /dev/nvme0 --namespace-id=1 --ses=1 --pi=1 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-fw-commit.1000066400000000000000000000105371352532746300206550ustar00rootroot00000000000000'\" t .\" Title: nvme-fw-commit .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-FW\-COMMIT" "1" "01/08/2019" "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-fw-commit \- Used to verify and commit a firmware image\&. .SH "SYNOPSIS" .sp .nf \fInvme fw\-commit\fR [\-\-slot= | \-s ] [\-\-action= | \-a ] [\-\-bpid= | \-b ] .fi .SH "DESCRIPTION" .sp For the NVMe device given, send an nvme Firmware Commit admin command and provides the results\&. .sp The Firmware Commit command is used to verify that a valid firmware image has been downloaded and to commit that revision to a specific firmware slot\&. The host may select the firmware image to commit on the next controller reset (CC\&.EN transitions from \(oq1\(cq to \(oq0\(cq, a PCI function level reset, and/or other Controller or NVM Subsystem Reset) as part of this command\&. The currently executing firmware revision may be determined from the Firmware Revision field of the Identify Controller data structure as indicated in the Firmware Slot Information log page\&. .sp No further action is automatically taken to reset the device, which is usually required to complete the activation process\&. If your kernel and driver are recent enough, you can commit the firmware by issuing a reset through Linux sysfs, for example: .sp .if n \{\ .RS 4 .\} .nf # echo 1 > /sys/class/nvme/nvme0/device/reset .fi .if n \{\ .RE .\} .sp If your kernel is not recent enough, you will need to remove and add the device some other way\&. .SH "OPTIONS" .PP \-a , \-\-action= .RS 4 Commit Action: This field specifies the action that is taken on the image downloaded with the Firmware Image Download command or on a previously downloaded and placed image\&. .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt lt lt lt lt. T{ Value T}:T{ Definition T} T{ 0 T}:T{ Downloaded image replaces the image indicated by the Firmware Slot field\&. This image is not activated\&. T} T{ 1 T}:T{ Downloaded image replaces the image indicated by the Firmware Slot field\&. This image is activated at the next reset\&. T} T{ 2 T}:T{ The image indicated by the Firmware Slot field is activated at the next reset\&. T} T{ 3 T}:T{ The image specified by the Firmware Slot field is requested to be activated immediately without reset\&. T} T{ 6 T}:T{ Downloaded image replaces the Boot Partition specified by the Boot Partition ID field\&. T} T{ 7 T}:T{ Mark the Boot Partition specified in the BPID field as active and update BPINFO\&.ABPID\&. T} .TE .sp 1 .RE .PP \-s , \-\-slot= .RS 4 Firmware Slot: Specifies the firmware slot that shall be used for the Commit Action, if applicable\&. If the value specified is 0h, then the controller shall choose the firmware slot (slot 1 \(en 7) to use for the operation\&. .RE .PP \-\-bpid=, \-b .RS 4 Specifiies the Boot partition that shall be used for the Commit Action, if applicable (default: 0) .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} commit the last downloaded fw to slot 1\&. .sp .if n \{\ .RS 4 .\} .nf # nvme fw\-commit /dev/nvme0 \-\-slot=1 \-\-action=2 .fi .if n \{\ .RE .\} .RE .SH "ALIAS" .sp fw\-activate .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-fw-commit.html000066400000000000000000000525171352532746300214650ustar00rootroot00000000000000 nvme-fw-commit(1)

SYNOPSIS

nvme fw-commit <device> [--slot=<slot> | -s <slot>]
                    [--action=<action> | -a <action>]
                    [--bpid=<boot-partid> | -b <boot-partid> ]

DESCRIPTION

For the NVMe device given, send an nvme Firmware Commit admin command and provides the results.

The Firmware Commit command is used to verify that a valid firmware image has been downloaded and to commit that revision to a specific firmware slot. The host may select the firmware image to commit on the next controller reset (CC.EN transitions from ‘1’ to ‘0’, a PCI function level reset, and/or other Controller or NVM Subsystem Reset) as part of this command. The currently executing firmware revision may be determined from the Firmware Revision field of the Identify Controller data structure as indicated in the Firmware Slot Information log page.

No further action is automatically taken to reset the device, which is usually required to complete the activation process. If your kernel and driver are recent enough, you can commit the firmware by issuing a reset through Linux sysfs, for example:

 # echo 1 > /sys/class/nvme/nvme0/device/reset

If your kernel is not recent enough, you will need to remove and add the device some other way.

OPTIONS

-a <action>
--action=<action>

Commit Action: This field specifies the action that is taken on the image downloaded with the Firmware Image Download command or on a previously downloaded and placed image.

Value

Definition

0

Downloaded image replaces the image indicated by the Firmware Slot field. This image is not activated.

1

Downloaded image replaces the image indicated by the Firmware Slot field. This image is activated at the next reset.

2

The image indicated by the Firmware Slot field is activated at the next reset.

3

The image specified by the Firmware Slot field is requested to be activated immediately without reset.

6

Downloaded image replaces the Boot Partition specified by the Boot Partition ID field.

7

Mark the Boot Partition specified in the BPID field as active and update BPINFO.ABPID.

-s <slot>
--slot=<slot>

Firmware Slot: Specifies the firmware slot that shall be used for the Commit Action, if applicable. If the value specified is 0h, then the controller shall choose the firmware slot (slot 1 – 7) to use for the operation.

--bpid=<boot-partid>
-b <boot-partid>

Specifiies the Boot partition that shall be used for the Commit Action, if applicable (default: 0)

EXAMPLES

  • commit the last downloaded fw to slot 1.

    # nvme fw-commit /dev/nvme0 --slot=1 --action=2

ALIAS

fw-activate

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-fw-commit.txt000066400000000000000000000054701352532746300213340ustar00rootroot00000000000000nvme-fw-commit(1) ================= NAME ---- nvme-fw-commit - Used to verify and commit a firmware image. SYNOPSIS -------- [verse] 'nvme fw-commit' [--slot= | -s ] [--action= | -a ] [--bpid= | -b ] DESCRIPTION ----------- For the NVMe device given, send an nvme Firmware Commit admin command and provides the results. The Firmware Commit command is used to verify that a valid firmware image has been downloaded and to commit that revision to a specific firmware slot. The host may select the firmware image to commit on the next controller reset (CC.EN transitions from ‘1’ to ‘0’, a PCI function level reset, and/or other Controller or NVM Subsystem Reset) as part of this command. The currently executing firmware revision may be determined from the Firmware Revision field of the Identify Controller data structure as indicated in the Firmware Slot Information log page. No further action is automatically taken to reset the device, which is usually required to complete the activation process. If your kernel and driver are recent enough, you can commit the firmware by issuing a reset through Linux sysfs, for example: ------------ # echo 1 > /sys/class/nvme/nvme0/device/reset ------------ If your kernel is not recent enough, you will need to remove and add the device some other way. OPTIONS ------- -a :: --action=:: Commit Action: This field specifies the action that is taken on the image downloaded with the Firmware Image Download command or on a previously downloaded and placed image. + [] |================= |Value|Definition |0|Downloaded image replaces the image indicated by the Firmware Slot field. This image is not activated. |1|Downloaded image replaces the image indicated by the Firmware Slot field. This image is activated at the next reset. |2|The image indicated by the Firmware Slot field is activated at the next reset. |3|The image specified by the Firmware Slot field is requested to be activated immediately without reset. |6|Downloaded image replaces the Boot Partition specified by the Boot Partition ID field. |7|Mark the Boot Partition specified in the BPID field as active and update BPINFO.ABPID. |================= -s :: --slot=:: Firmware Slot: Specifies the firmware slot that shall be used for the Commit Action, if applicable. If the value specified is 0h, then the controller shall choose the firmware slot (slot 1 – 7) to use for the operation. --bpid=:: -b :: Specifiies the Boot partition that shall be used for the Commit Action, if applicable (default: 0) EXAMPLES -------- * commit the last downloaded fw to slot 1. + ------------ # nvme fw-commit /dev/nvme0 --slot=1 --action=2 ------------ ALIAS ----- fw-activate NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-fw-download.1000066400000000000000000000071251352532746300211730ustar00rootroot00000000000000'\" t .\" Title: nvme-fw-download .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-FW\-DOWNLOAD" "1" "01/08/2019" "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-fw-download \- Download all or a portion of an nvme firmware image\&. .SH "SYNOPSIS" .sp .nf \fInvme fw\-download\fR [\-\-fw= | \-f ] [\-\-xfer= | \-x ] [\-\-offset= | \-o ] .fi .SH "DESCRIPTION" .sp The Firmware Image Download command is used to download all or a portion of the firmware image for a future update to the controller\&. The Firmware Image Download command may be submitted while other commands on the Admin Submission Queue or I/O Submission Queues are outstanding\&. The Firmware Image Download command copies the new firmware image (in whole or in part) to the controller\&. .sp The firmware image may be constructed of multiple pieces that are individually downloaded with separate Firmware Image Download commands\&. Each Firmware Image Download command includes a Dword Offset and Number of Dwords that specify a Dword range\&. The host software shall ensure that firmware pieces do not have Dword ranges that overlap\&. Firmware portions may be submitted out of order to the controller\&. .sp The new firmware image is not applied as part of the Firmware Image Download command\&. It is applied following a reset, where the image to apply and the firmware slot it should be committed to is specified with the Firmware Activate command\&. .SH "OPTIONS" .PP \-f , \-\-fw= .RS 4 Required argument\&. This specifies the path to the device\(cqs firmware file on your system that will be read by the program and sent to the device\&. .RE .PP \-x , \-\-xfer= .RS 4 This specifies the size to split each transfer\&. This is useful if the device has a max transfer size requirement for firmware\&. It defaults to 4k\&. .RE .PP \-o , \-\-offset= .RS 4 This specifies the starting offset in dwords\&. This is really only useful if your firmware is split in multiple files; otherwise the offset starts at zero and automatically adjusts based on the \fIxfer\fR size given\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Transfer a firmware size 128KiB at a time: .sp .if n \{\ .RS 4 .\} .nf # nvme fw\-download /dev/nvme0 \-\-fw=/path/to/nvme\&.fw \-\-xfer=0x20000 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-fw-download.html000066400000000000000000000470011352532746300217740ustar00rootroot00000000000000 nvme-fw-download(1)

SYNOPSIS

nvme fw-download <device> [--fw=<firmware-file> | -f <firmware-file>]
                    [--xfer=<transfer-size> | -x <transfer-size>]
                    [--offset=<offset> | -o <offset>]

DESCRIPTION

The Firmware Image Download command is used to download all or a portion of the firmware image for a future update to the controller. The Firmware Image Download command may be submitted while other commands on the Admin Submission Queue or I/O Submission Queues are outstanding. The Firmware Image Download command copies the new firmware image (in whole or in part) to the controller.

The firmware image may be constructed of multiple pieces that are individually downloaded with separate Firmware Image Download commands. Each Firmware Image Download command includes a Dword Offset and Number of Dwords that specify a Dword range. The host software shall ensure that firmware pieces do not have Dword ranges that overlap. Firmware portions may be submitted out of order to the controller.

The new firmware image is not applied as part of the Firmware Image Download command. It is applied following a reset, where the image to apply and the firmware slot it should be committed to is specified with the Firmware Activate command.

OPTIONS

-f <firmware-file>
--fw=<firmeware-file>

Required argument. This specifies the path to the device’s firmware file on your system that will be read by the program and sent to the device.

-x <transfer-size>
--xfer=<transfer-size>

This specifies the size to split each transfer. This is useful if the device has a max transfer size requirement for firmware. It defaults to 4k.

-o <offset>
--offset=<offset>

This specifies the starting offset in dwords. This is really only useful if your firmware is split in multiple files; otherwise the offset starts at zero and automatically adjusts based on the xfer size given.

EXAMPLES

  • Transfer a firmware size 128KiB at a time:

    # nvme fw-download /dev/nvme0 --fw=/path/to/nvme.fw --xfer=0x20000

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-fw-download.txt000066400000000000000000000042661352532746300216550ustar00rootroot00000000000000nvme-fw-download(1) =================== NAME ---- nvme-fw-download - Download all or a portion of an nvme firmware image. SYNOPSIS -------- [verse] 'nvme fw-download' [--fw= | -f ] [--xfer= | -x ] [--offset= | -o ] DESCRIPTION ----------- The Firmware Image Download command is used to download all or a portion of the firmware image for a future update to the controller. The Firmware Image Download command may be submitted while other commands on the Admin Submission Queue or I/O Submission Queues are outstanding. The Firmware Image Download command copies the new firmware image (in whole or in part) to the controller. The firmware image may be constructed of multiple pieces that are individually downloaded with separate Firmware Image Download commands. Each Firmware Image Download command includes a Dword Offset and Number of Dwords that specify a Dword range. The host software shall ensure that firmware pieces do not have Dword ranges that overlap. Firmware portions may be submitted out of order to the controller. The new firmware image is not applied as part of the Firmware Image Download command. It is applied following a reset, where the image to apply and the firmware slot it should be committed to is specified with the Firmware Activate command. OPTIONS ------- -f :: --fw=:: Required argument. This specifies the path to the device's firmware file on your system that will be read by the program and sent to the device. -x :: --xfer=:: This specifies the size to split each transfer. This is useful if the device has a max transfer size requirement for firmware. It defaults to 4k. -o :: --offset=:: This specifies the starting offset in dwords. This is really only useful if your firmware is split in multiple files; otherwise the offset starts at zero and automatically adjusts based on the 'xfer' size given. EXAMPLES -------- * Transfer a firmware size 128KiB at a time: + ------------ # nvme fw-download /dev/nvme0 --fw=/path/to/nvme.fw --xfer=0x20000 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-fw-log.1000066400000000000000000000054271352532746300201500ustar00rootroot00000000000000'\" t .\" Title: nvme-fw-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-FW\-LOG" "1" "04/08/2019" "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-fw-log \- Send NVMe Firmware log page request, returns result and log .SH "SYNOPSIS" .sp .nf \fInvme fw\-log\fR [\-\-raw\-binary | \-b] [\-\-output\-format= | \-o ] .fi .SH "DESCRIPTION" .sp Retrieves the NVMe Firmware log page from an NVMe device and provides the returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned f/w 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 or the raw buffer may be printed to stdout for another program to parse\&. .SH "OPTIONS" .PP \-b, \-\-raw\-binary .RS 4 Print the raw fw log buffer to stdout\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Print the firmware log page in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme fw\-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 log firmware to a file: .sp .if n \{\ .RS 4 .\} .nf # nvme fw\-log /dev/nvme0 \-\-raw\-binary > fw_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 nvme-cli-1.9/Documentation/nvme-fw-log.html000066400000000000000000000451141352532746300207510ustar00rootroot00000000000000 nvme-fw-log(1)

SYNOPSIS

nvme fw-log <device> [--raw-binary | -b]
                        [--output-format=<fmt> | -o <fmt>]

DESCRIPTION

Retrieves the NVMe Firmware 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 f/w 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 or the raw buffer may be printed to stdout for another program to parse.

OPTIONS

-b
--raw-binary

Print the raw fw log buffer to stdout.

-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 firmware log page in a human readable format:

    # nvme fw-log /dev/nvme0
  • Print the log firmware to a file:

    # nvme fw-log /dev/nvme0 --raw-binary > fw_log.raw

    It is probably a bad idea to not redirect stdout when using this mode.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-fw-log.txt000066400000000000000000000025221352532746300206200ustar00rootroot00000000000000nvme-fw-log(1) ============== NAME ---- nvme-fw-log - Send NVMe Firmware log page request, returns result and log SYNOPSIS -------- [verse] 'nvme fw-log' [--raw-binary | -b] [--output-format= | -o ] DESCRIPTION ----------- Retrieves the NVMe Firmware log page from an NVMe device and provides the returned structure. The 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 f/w 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 or the raw buffer may be printed to stdout for another program to parse. OPTIONS ------- -b:: --raw-binary:: Print the raw fw log buffer to stdout. -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- * Print the firmware log page in a human readable format: + ------------ # nvme fw-log /dev/nvme0 ------------ + * Print the log firmware to a file: + ------------ # nvme fw-log /dev/nvme0 --raw-binary > fw_log.raw ------------ + It is probably a bad idea to not redirect stdout when using this mode. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-gen-hostnqn.1000066400000000000000000000031641352532746300212120ustar00rootroot00000000000000'\" t .\" Title: nvme-gen-hostnqn .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-GEN\-HOSTNQN" "1" "01/08/2019" "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-gen-hostnqn \- Generate a host NVMe Qualified Name .SH "SYNOPSIS" .sp .nf \fInvme gen\-hostnqn\fR .fi .SH "DESCRIPTION" .sp Generate a random host NQN in the form: nqn\&.2014\-08\&.org\&.nvmexpress:uuid:1b4e28ba\-2fa1\-11d2\-883f\-0016d3cca427 and prints it to stdout\&. .SH "OPTIONS" .sp No options needed .SH "EXAMPLES" .sp nvme gen\-hostnqn .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-gen-hostnqn.html000066400000000000000000000422161352532746300220170ustar00rootroot00000000000000 nvme-gen-hostnqn(1)

SYNOPSIS

nvme gen-hostnqn

DESCRIPTION

Generate a random host NQN in the form: nqn.2014-08.org.nvmexpress:uuid:1b4e28ba-2fa1-11d2-883f-0016d3cca427 and prints it to stdout.

OPTIONS

No options needed

EXAMPLES

nvme gen-hostnqn

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-gen-hostnqn.txt000066400000000000000000000006451352532746300216720ustar00rootroot00000000000000nvme-gen-hostnqn(1) =================== NAME ---- nvme-gen-hostnqn - Generate a host NVMe Qualified Name SYNOPSIS -------- [verse] 'nvme gen-hostnqn' DESCRIPTION ----------- Generate a random host NQN in the form: nqn.2014-08.org.nvmexpress:uuid:1b4e28ba-2fa1-11d2-883f-0016d3cca427 and prints it to stdout. OPTIONS ------- No options needed EXAMPLES -------- nvme gen-hostnqn NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-get-feature.1000066400000000000000000000116421352532746300211610ustar00rootroot00000000000000'\" t .\" Title: nvme-get-feature .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-GET\-FEATURE" "1" "01/08/2019" "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-get-feature \- Gets an NVMe feature, returns applicable results .SH "SYNOPSIS" .sp .nf \fInvme get\-feature\fR [\-\-namespace\-id= | \-n ] [\-\-feature\-id= | \-f ] [\-\-cdw11=] [\-\-data\-len= | \-l ] [\-\-sel=] [\-\-raw\-binary | \-b] [\-\-human\-readable | \-H] .fi .SH "DESCRIPTION" .sp Submits an NVMe Get Feature admin command and returns the applicable results\&. This may be the feature\(cqs value, or may also include a feature structure if the feature requires it (ex: LBA Range Type)\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned feature\(cqs structure (if applicable) 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 if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another program to parse\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Retrieve the feature for the given nsid\&. This is optional and most features do not use this value\&. .RE .PP \-f , \-\-feature\-id= .RS 4 The feature id to send with the command\&. Value provided should be in hex\&. .RE .PP \-s .RS 4 Select (SEL): This field specifies which value of the attributes to return in the provided data: .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt lt lt. T{ Select T}:T{ Description T} T{ 0 T}:T{ Current T} T{ 1 T}:T{ Default T} T{ 2 T}:T{ Saved T} T{ 3 T}:T{ Supported capabilities T} T{ 4\(en7 T}:T{ Reserved T} .TE .sp 1 .RE .PP \-l , \-\-data\-len= .RS 4 The data length for the buffer returned for this feature\&. Most known features do not use this value\&. The exception is LBA Range Type .RE .PP \-\-cdw11= .RS 4 The value for command dword 11, if applicable\&. .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw feature buffer to stdout if the feature returns a structure\&. .RE .PP \-H, \-\-human\-readable .RS 4 This option will parse and format many of the bit fields into human\-readable formats\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Retrieves the feature for Number of Queues, or feature id 7: .sp .if n \{\ .RS 4 .\} .nf # nvme get\-feature /dev/nvme0 \-f 7 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} The following retrieves the feature for the LBA Range Type, which implicitly requires a buffer and will be printed to the screen in human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme get\-feature /dev/nvme0 \-f 3 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Retrieves the feature for the some vendor specific feature and specifically requesting a buffer be allocate for this feature, which will be displayed to the user in as a hex dump: .sp .if n \{\ .RS 4 .\} .nf # nvme get\-feature /dev/nvme0 \-f 0xc0 \-l 512 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} The following retrieves the feature for the LBA Range Type, which implicitly requires a buffer and will be saved to a file in its raw format: .sp .if n \{\ .RS 4 .\} .nf # nvme get\-feature /dev/nvme0 \-f 3 \-\-raw\-binary > lba_range\&.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 nvme-cli-1.9/Documentation/nvme-get-feature.html000066400000000000000000000536271352532746300217760ustar00rootroot00000000000000 nvme-get-feature(1)

SYNOPSIS

nvme get-feature <device> [--namespace-id=<nsid> | -n <nsid>]
                          [--feature-id=<fid> | -f <fid>] [--cdw11=<cdw11>]
                          [--data-len=<data-len> | -l <data-len>]
                          [--sel=<select> | -s <select>]
                          [--raw-binary | -b]
                          [--human-readable | -H]

DESCRIPTION

Submits an NVMe Get Feature admin command and returns the applicable results. This may be the feature’s value, or may also include a feature structure if the feature requires it (ex: LBA Range Type).

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 feature’s structure (if applicable) 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 if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another program to parse.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Retrieve the feature for the given nsid. This is optional and most features do not use this value.

-f <fid>
--feature-id=<fid>

The feature id to send with the command. Value provided should be in hex.

-s <select>
--sel=<select>

Select (SEL): This field specifies which value of the attributes to return in the provided data:

Select

Description

0

Current

1

Default

2

Saved

3

Supported capabilities

4–7

Reserved

-l <data-len>
--data-len=<data-len>

The data length for the buffer returned for this feature. Most known features do not use this value. The exception is LBA Range Type

--cdw11=<cdw11>

The value for command dword 11, if applicable.

-b
--raw-binary

Print the raw feature buffer to stdout if the feature returns a structure.

-H
--human-readable

This option will parse and format many of the bit fields into human-readable formats.

EXAMPLES

  • Retrieves the feature for Number of Queues, or feature id 7:

    # nvme get-feature /dev/nvme0 -f 7
  • The following retrieves the feature for the LBA Range Type, which implicitly requires a buffer and will be printed to the screen in human readable format:

    # nvme get-feature /dev/nvme0 -f 3
  • Retrieves the feature for the some vendor specific feature and specifically requesting a buffer be allocate for this feature, which will be displayed to the user in as a hex dump:

    # nvme get-feature /dev/nvme0 -f 0xc0 -l 512
  • The following retrieves the feature for the LBA Range Type, which implicitly requires a buffer and will be saved to a file in its raw format:

    # nvme get-feature /dev/nvme0 -f 3 --raw-binary > lba_range.raw

    It is probably a bad idea to not redirect stdout when using this mode.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-get-feature.txt000066400000000000000000000057661352532746300216520ustar00rootroot00000000000000nvme-get-feature(1) =================== NAME ---- nvme-get-feature - Gets an NVMe feature, returns applicable results SYNOPSIS -------- [verse] 'nvme get-feature' [--namespace-id= | -n ] [--feature-id= | -f ] [--cdw11=] [--data-len= | -l ] [--sel=] [--raw-binary | -b] [--human-readable | -H] DESCRIPTION ----------- Submits an NVMe Get Feature admin command and returns the applicable results. This may be the feature's value, or may also include a feature structure if the feature requires it (ex: LBA Range Type). The 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 feature's structure (if applicable) 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 if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another program to parse. OPTIONS ------- -n :: --namespace-id=:: Retrieve the feature for the given nsid. This is optional and most features do not use this value. -f :: --feature-id=:: The feature id to send with the command. Value provided should be in hex. -s :: Select (SEL): This field specifies which value of the attributes to return in the provided data: + [] |================== |Select|Description |0|Current |1|Default |2|Saved |3|Supported capabilities |4–7|Reserved |================== -l :: --data-len=:: The data length for the buffer returned for this feature. Most known features do not use this value. The exception is LBA Range Type --cdw11=:: The value for command dword 11, if applicable. -b:: --raw-binary:: Print the raw feature buffer to stdout if the feature returns a structure. -H:: --human-readable:: This option will parse and format many of the bit fields into human-readable formats. EXAMPLES -------- * Retrieves the feature for Number of Queues, or feature id 7: + ------------ # nvme get-feature /dev/nvme0 -f 7 ------------ + * The following retrieves the feature for the LBA Range Type, which implicitly requires a buffer and will be printed to the screen in human readable format: + ------------ # nvme get-feature /dev/nvme0 -f 3 ------------ + * Retrieves the feature for the some vendor specific feature and specifically requesting a buffer be allocate for this feature, which will be displayed to the user in as a hex dump: + ------------ # nvme get-feature /dev/nvme0 -f 0xc0 -l 512 ------------ + * The following retrieves the feature for the LBA Range Type, which implicitly requires a buffer and will be saved to a file in its raw format: + ------------ # nvme get-feature /dev/nvme0 -f 3 --raw-binary > lba_range.raw ------------ + It is probably a bad idea to not redirect stdout when using this mode. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-get-log.1000066400000000000000000000103301352532746300203000ustar00rootroot00000000000000'\" t .\" Title: nvme-get-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-GET\-LOG" "1" "04/08/2019" "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-get-log \- Retrieves a log page from an NVMe device .SH "SYNOPSIS" .sp .nf \fInvme get\-log\fR [\-\-log\-id= | \-i ] [\-\-log\-len= | \-l ] [\-\-aen= | \-a ] [\-\-namespace\-id= | \-n ] [\-\-raw\-binary | \-b] [\-\-lpo= | \-o ] [\-\-lsp= | \-s ] [\-\-rae | \-r] .fi .SH "DESCRIPTION" .sp Retrieves an arbitrary NVMe log page from an NVMe device and provides the returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned log structure may be returned in one of several ways depending on the option flags; the structure may be displayed in hex by the program or the raw buffer may be printed to stdout for another program to parse\&. .SH "OPTIONS" .PP \-l , \-\-log\-len= .RS 4 Allocates a buffer of bytes size and requests this many bytes be returned in the constructed NVMe command\&. This param is mandatory\&. .RE .PP \-i , \-\-log\-id= .RS 4 Sets the commands requested log\-id to \&. Defaults to 0\&. .RE .PP \-a , \-\-aen= .RS 4 Convenience field for extracting log information based on an asynchronous event notification result\&. This will override log\-id and log\-len, if set\&. .RE .PP \-n , \-\-namespace\-id= .RS 4 Sets the command\(cqs nsid value to the given nsid\&. Defaults to 0xffffffff if not given\&. This option may not affect anything depending on the log page, which may or may not be specific to a namespace\&. .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw log buffer to stdout\&. .RE .PP \-o , \-\-lpo= .RS 4 The log page offset specifies the location within a log page to start returning data from\&. It\(cqs Dword\-aligned and 64\-bits\&. .RE .PP \-s , \-\-lsp= .RS 4 The log specified field of LID\&. .RE .PP \-r, \-\-rae .RS 4 Retain an Asynchronous Event\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Get 512 bytes from log page 2 .sp .if n \{\ .RS 4 .\} .nf # nvme get\-log /dev/nvme0 \-\-log\-id=2 \-\-log\-len=512 .fi .if n \{\ .RE .\} .sp The above example will get log page 2 (SMART), and request 512 bytes\&. On success, the returned log will be dumped in hex and not interpreted by the program\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Have the program return the raw log page in binary: .sp .if n \{\ .RS 4 .\} .nf # nvme get\-log /dev/nvme0 \-log\-id=2 \-\-log\-len=512 \-\-raw\-binary > log_page_2\&.raw # nvme get\-log /dev/nvme0 \-i 2 \-l 512 \-b > log_page_2\&.raw .fi .if n \{\ .RE .\} .sp It is not a good idea to not redirect stdout when using this mode\&. .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-get-log.html000066400000000000000000000513121352532746300211110ustar00rootroot00000000000000 nvme-get-log(1)

SYNOPSIS

nvme get-log <device> [--log-id=<log-id> | -i <log-id>]
                      [--log-len=<log-len> | -l <log-len>]
                      [--aen=<aen> | -a <aen>]
                      [--namespace-id=<nsid> | -n <nsid>]
                      [--raw-binary | -b]
                      [--lpo=<offset> | -o <offset>]
                      [--lsp=<field> | -s <field>]
                      [--rae | -r]

DESCRIPTION

Retrieves an arbitrary NVMe 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 log structure may be returned in one of several ways depending on the option flags; the structure may be displayed in hex by the program or the raw buffer may be printed to stdout for another program to parse.

OPTIONS

-l <log-len>
--log-len=<log-len>

Allocates a buffer of <log-len> bytes size and requests this many bytes be returned in the constructed NVMe command. This param is mandatory.

-i <log-id>
--log-id=<log-id>

Sets the commands requested log-id to <log-id>. Defaults to 0.

-a <aen>
--aen=<aen>

Convenience field for extracting log information based on an asynchronous event notification result. This will override log-id and log-len, if set.

-n <nsid>
--namespace-id=<nsid>

Sets the command’s nsid value to the given nsid. Defaults to 0xffffffff if not given. This option may not affect anything depending on the log page, which may or may not be specific to a namespace.

-b
--raw-binary

Print the raw log buffer to stdout.

-o <offset>
--lpo=<offset>

The log page offset specifies the location within a log page to start returning data from. It’s Dword-aligned and 64-bits.

-s <field>
--lsp=<field>

The log specified field of LID.

-r
--rae

Retain an Asynchronous Event.

EXAMPLES

  • Get 512 bytes from log page 2

    # nvme get-log /dev/nvme0 --log-id=2 --log-len=512

    The above example will get log page 2 (SMART), and request 512 bytes. On success, the returned log will be dumped in hex and not interpreted by the program.

  • Have the program return the raw log page in binary:

    # nvme get-log /dev/nvme0 -log-id=2 --log-len=512 --raw-binary > log_page_2.raw
    # nvme get-log /dev/nvme0 -i 2 -l 512 -b > log_page_2.raw

    It is not a good idea to not redirect stdout when using this mode.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-get-log.txt000066400000000000000000000050341352532746300207640ustar00rootroot00000000000000nvme-get-log(1) =============== NAME ---- nvme-get-log - Retrieves a log page from an NVMe device SYNOPSIS -------- [verse] 'nvme get-log' [--log-id= | -i ] [--log-len= | -l ] [--aen= | -a ] [--namespace-id= | -n ] [--raw-binary | -b] [--lpo= | -o ] [--lsp= | -s ] [--rae | -r] DESCRIPTION ----------- Retrieves an arbitrary NVMe log page from an NVMe device and provides the returned structure. The 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 log structure may be returned in one of several ways depending on the option flags; the structure may be displayed in hex by the program or the raw buffer may be printed to stdout for another program to parse. OPTIONS ------- -l :: --log-len=:: Allocates a buffer of bytes size and requests this many bytes be returned in the constructed NVMe command. This param is mandatory. -i :: --log-id=:: Sets the commands requested log-id to . Defaults to 0. -a :: --aen=:: Convenience field for extracting log information based on an asynchronous event notification result. This will override log-id and log-len, if set. -n :: --namespace-id=:: Sets the command's nsid value to the given nsid. Defaults to 0xffffffff if not given. This option may not affect anything depending on the log page, which may or may not be specific to a namespace. -b:: --raw-binary:: Print the raw log buffer to stdout. -o :: --lpo=:: The log page offset specifies the location within a log page to start returning data from. It's Dword-aligned and 64-bits. -s :: --lsp=:: The log specified field of LID. -r:: --rae:: Retain an Asynchronous Event. EXAMPLES -------- * Get 512 bytes from log page 2 + ------------ # nvme get-log /dev/nvme0 --log-id=2 --log-len=512 ------------ + The above example will get log page 2 (SMART), and request 512 bytes. On success, the returned log will be dumped in hex and not interpreted by the program. * Have the program return the raw log page in binary: + ------------ # nvme get-log /dev/nvme0 -log-id=2 --log-len=512 --raw-binary > log_page_2.raw # nvme get-log /dev/nvme0 -i 2 -l 512 -b > log_page_2.raw ------------ + It is not a good idea to not redirect stdout when using this mode. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-get-ns-id.1000066400000000000000000000034651352532746300205440ustar00rootroot00000000000000'\" t .\" Title: nvme-get-ns-id .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-GET\-NS\-ID" "1" "01/08/2019" "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-get-ns-id \- Retrieves the namespace ID for an NVMe block device .SH "SYNOPSIS" .sp .nf \fInvme get\-ns\-id\fR .fi .SH "DESCRIPTION" .sp Retrieves the namespace ID for an NVMe block device\&. The param is mandatory and must be an NVMe block device (ex: /dev/nvme0n1)\&. .SH "OPTIONS" .sp None .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Shows the namespace id for the given block device: .sp .if n \{\ .RS 4 .\} .nf # nvme get\-ns\-id /dev/nvme0n1 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-get-ns-id.html000066400000000000000000000425251352532746300213500ustar00rootroot00000000000000 nvme-get-ns-id(1)

SYNOPSIS

nvme get-ns-id <device>

DESCRIPTION

Retrieves the namespace ID for an NVMe block device. The <device> param is mandatory and must be an NVMe block device (ex: /dev/nvme0n1).

OPTIONS

None

EXAMPLES

  • Shows the namespace id for the given block device:

    # nvme get-ns-id /dev/nvme0n1

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-get-ns-id.txt000066400000000000000000000010131352532746300212060ustar00rootroot00000000000000nvme-get-ns-id(1) ================= NAME ---- nvme-get-ns-id - Retrieves the namespace ID for an NVMe block device SYNOPSIS -------- [verse] 'nvme get-ns-id' DESCRIPTION ----------- Retrieves the namespace ID for an NVMe block device. The param is mandatory and must be an NVMe block device (ex: /dev/nvme0n1). OPTIONS ------- None EXAMPLES -------- * Shows the namespace id for the given block device: + ------------ # nvme get-ns-id /dev/nvme0n1 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-get-property.1000066400000000000000000000053131352532746300214100ustar00rootroot00000000000000'\" t .\" Title: nvme-get-property .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-GET\-PROPERTY" "1" "04/08/2019" "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-get-property \- Reads and shows the defined NVMe controller property for NVMe over Fabric .SH "SYNOPSIS" .sp .nf \fInvme get\-property\fR [\-\-offset= | \-o ] [\-\-human\-readable | \-H ] .fi .SH "DESCRIPTION" .sp Reads and shows the defined NVMe controller property for NVMe over Fabric\&. .SH "OPTIONS" .PP \-o, \-\-offset .RS 4 The offset of the property\&. One of CAP=0x0, VS=0x8, CC=0x14, CSTS=0x1c, NSSR=0x20 .RE .PP \-H .RS 4 \-\-human\-readable: Show the fields packed in the property .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} The following will run the get\-property command with offset 0 .sp .if n \{\ .RS 4 .\} .nf # nvme get\-property /dev/nvme0 \-\-offset=0x0 \-\-human\-readable .fi .if n \{\ .RE .\} .RE .SH "BUGS" .sp Currently the CAP value is truncated to 32 bits due to a limitation in the ioctl interface\&. .sp In a recent enough kernel, the 64 bit value is shown in kernel traces\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} First enable traces by this command .sp .if n \{\ .RS 4 .\} .nf # echo 1 > /sys/kernel/debug/tracing/events/nvme/enable .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Then look for NVMe Fabrics command (0x7f) at trace .sp .if n \{\ .RS 4 .\} .nf /sys/kernel/debug/tracing/trace .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-get-property.html000066400000000000000000000447741352532746300222320ustar00rootroot00000000000000 nvme-get-property(1)

SYNOPSIS

nvme get-property <device> [--offset=<offset> | -o <offset>]
                                [--human-readable | -H ]

DESCRIPTION

Reads and shows the defined NVMe controller property for NVMe over Fabric.

OPTIONS

-o
--offset

The offset of the property. One of CAP=0x0, VS=0x8, CC=0x14, CSTS=0x1c, NSSR=0x20

-H

--human-readable: Show the fields packed in the property

EXAMPLES

  • The following will run the get-property command with offset 0

    # nvme get-property /dev/nvme0 --offset=0x0 --human-readable

BUGS

Currently the CAP value is truncated to 32 bits due to a limitation in the ioctl interface.

In a recent enough kernel, the 64 bit value is shown in kernel traces.

  • First enable traces by this command

    # echo 1 > /sys/kernel/debug/tracing/events/nvme/enable
  • Then look for NVMe Fabrics command (0x7f) at trace

    /sys/kernel/debug/tracing/trace

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-get-property.txt000066400000000000000000000022341352532746300220660ustar00rootroot00000000000000nvme-get-property(1) ==================== NAME ---- nvme-get-property - Reads and shows the defined NVMe controller property for NVMe over Fabric SYNOPSIS -------- [verse] 'nvme get-property' [--offset= | -o ] [--human-readable | -H ] DESCRIPTION ----------- Reads and shows the defined NVMe controller property for NVMe over Fabric. OPTIONS ------- -o:: --offset:: The offset of the property. One of CAP=0x0, VS=0x8, CC=0x14, CSTS=0x1c, NSSR=0x20 -H:: --human-readable: Show the fields packed in the property EXAMPLES -------- * The following will run the get-property command with offset 0 + ------------ # nvme get-property /dev/nvme0 --offset=0x0 --human-readable ------------ BUGS ---- Currently the CAP value is truncated to 32 bits due to a limitation in the ioctl interface. In a recent enough kernel, the 64 bit value is shown in kernel traces. * First enable traces by this command + ------------ # echo 1 > /sys/kernel/debug/tracing/events/nvme/enable ------------ * Then look for NVMe Fabrics command (0x7f) at trace + ------------ /sys/kernel/debug/tracing/trace ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-help.1000066400000000000000000000033111352532746300176730ustar00rootroot00000000000000'\" t .\" Title: nvme-help .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-HELP" "1" "01/08/2019" "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-help \- Help information\&. .SH "SYNOPSIS" .sp .nf \fInvme help\fR [] .fi .SH "DESCRIPTION" .sp Provides help information, with detailed information about the given command if provided\&. .SH "OPTIONS" .sp No Options .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Show help for nvme smart log: .sp .if n \{\ .RS 4 .\} .nf # nvme help smart\-log .fi .if n \{\ .RE .\} .sp Not much to it .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-help.html000066400000000000000000000424101352532746300205020ustar00rootroot00000000000000 nvme-help(1)

SYNOPSIS

nvme help [<command>]

DESCRIPTION

Provides help information, with detailed information about the given command if provided.

OPTIONS

No Options

EXAMPLES

  • Show help for nvme smart log:

    # nvme help smart-log

    Not much to it

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-help.txt000066400000000000000000000006431352532746300203570ustar00rootroot00000000000000nvme-help(1) ============= NAME ---- nvme-help - Help information. SYNOPSIS -------- [verse] 'nvme help' [] DESCRIPTION ----------- Provides help information, with detailed information about the given command if provided. OPTIONS ------- No Options EXAMPLES -------- * Show help for nvme smart log: + ------------ # nvme help smart-log ------------ + Not much to it NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-huawei-id-ctrl.1000066400000000000000000000062621352532746300215710ustar00rootroot00000000000000'\" t .\" Title: nvme-huawei-id-ctrl .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-HUAWEI\-ID\-CT" "1" "01/08/2019" "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-huawei-id-ctrl \- Send NVMe Identify Controller, return result and structure .SH "SYNOPSIS" .sp .nf \fInvme huawei id\-ctrl\fR [\-v | \-\-vendor\-specific] [\-b | \-\-raw\-binary] [\-o | \-\-output\-format=] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends an identify controller command and provides the result and returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp This will only work on Huawei devices supporting this feature\&. Results for any other device are undefined\&. .sp On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. .sp If having the program decode the output for readability, this version will decode Huawei vendor unique portions of the structure\&. .SH "OPTIONS" .PP \-b, \-\-raw\-binary .RS 4 Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. .RE .PP \-v, \-\-vendor\-specific .RS 4 In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation\&. .RE .PP \-H, \-\-human\-readable .RS 4 This option will parse and format many of the bit fields into human\-readable formats\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Has the program interpret the returned buffer and display the known fields in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme huawei id\-ctrl /dev/nvme0 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-huawei-id-ctrl.html000066400000000000000000000463051352532746300223770ustar00rootroot00000000000000 nvme-huawei-id-ctrl(1)

SYNOPSIS

nvme huawei id-ctrl <device> [-v | --vendor-specific] [-b | --raw-binary]
                        [-o <fmt> | --output-format=<fmt>]

DESCRIPTION

For the NVMe device given, sends an identify controller command and provides the result and 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).

This will only work on Huawei devices supporting this feature. Results for any other device are undefined.

On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout.

If having the program decode the output for readability, this version will decode Huawei vendor unique portions of the structure.

OPTIONS

-b
--raw-binary

Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options.

-v
--vendor-specific

In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation.

-H
--human-readable

This option will parse and format many of the bit fields into human-readable formats.

-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

  • Has the program interpret the returned buffer and display the known fields in a human readable format:

    # nvme huawei id-ctrl /dev/nvme0

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-huawei-id-ctrl.txt000066400000000000000000000034521352532746300222460ustar00rootroot00000000000000nvme-huawei-id-ctrl(1) ====================== NAME ---- nvme-huawei-id-ctrl - Send NVMe Identify Controller, return result and structure SYNOPSIS -------- [verse] 'nvme huawei id-ctrl' [-v | --vendor-specific] [-b | --raw-binary] [-o | --output-format=] DESCRIPTION ----------- For the NVMe device given, sends an identify controller command and provides the result and returned structure. The 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 Huawei devices supporting this feature. Results for any other device are undefined. On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout. If having the program decode the output for readability, this version will decode Huawei vendor unique portions of the structure. OPTIONS ------- -b:: --raw-binary:: Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options. -v:: --vendor-specific:: In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation. -H:: --human-readable:: This option will parse and format many of the bit fields into human-readable formats. -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- * Has the program interpret the returned buffer and display the known fields in a human readable format: + ------------ # nvme huawei id-ctrl /dev/nvme0 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-huawei-list.1000066400000000000000000000034331352532746300212030ustar00rootroot00000000000000'\" t .\" Title: nvme-list .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-LIST" "1" "01/08/2019" "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-huawei-list \- List all recognized Huawei NVMe devices .SH "SYNOPSIS" .sp .nf \fInvme huawei list\fR [\-o | \-\-output\-format=] .fi .SH "DESCRIPTION" .sp Scan the sysfs tree for NVM Express devices and return the /dev node for those Huawei devices as well as some pertinent information about them\&. .SH "OPTIONS" .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR or \fIjson\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp No examples yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-huawei-list.html000066400000000000000000000426561352532746300220210ustar00rootroot00000000000000 nvme-list(1)

SYNOPSIS

nvme huawei list [-o <fmt> | --output-format=<fmt>]

DESCRIPTION

Scan the sysfs tree for NVM Express devices and return the /dev node for those Huawei devices as well as some pertinent information about them.

OPTIONS

-o <format>
--output-format=<format>

Set the reporting format to normal or json. Only one output format can be used at a time.

EXAMPLES

No examples yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-huawei-list.txt000066400000000000000000000010771352532746300216640ustar00rootroot00000000000000nvme-list(1) ============ NAME ---- nvme-huawei-list - List all recognized Huawei NVMe devices SYNOPSIS -------- [verse] 'nvme huawei list' [-o | --output-format=] DESCRIPTION ----------- Scan the sysfs tree for NVM Express devices and return the /dev node for those Huawei devices as well as some pertinent information about them. OPTIONS ------- -o :: --output-format=:: Set the reporting format to 'normal' or 'json'. Only one output format can be used at a time. EXAMPLES -------- No examples yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-id-ctrl.1000066400000000000000000000113431352532746300203050ustar00rootroot00000000000000'\" t .\" Title: nvme-id-ctrl .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-ID\-CTRL" "1" "01/08/2019" "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-ctrl \- Send NVMe Identify Controller, return result and structure .SH "SYNOPSIS" .sp .nf \fInvme id\-ctrl\fR [\-v | \-\-vendor\-specific] [\-b | \-\-raw\-binary] [\-o | \-\-output\-format=] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends an identify controller command and provides the result and returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. .SH "OPTIONS" .PP \-b, \-\-raw\-binary .RS 4 Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. .RE .PP \-v, \-\-vendor\-specific .RS 4 In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation\&. .RE .PP \-H, \-\-human\-readable .RS 4 This option will parse and format many of the bit fields into human\-readable formats\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Has the program interpret the returned buffer and display the known fields in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme id\-ctrl /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 .\} In addition to showing the known fields, has the program to display the vendor unique field: .sp .if n \{\ .RS 4 .\} .nf # nvme id\-ctrl /dev/nvme0 \-\-vendor\-specific # nvme id\-ctrl /dev/nvme0 \-v .fi .if n \{\ .RE .\} .sp The above will dump the \fIvs\fR buffer in hex since it doesn\(cqt know how to interpret it\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Have the program return the raw structure in binary: .sp .if n \{\ .RS 4 .\} .nf # nvme id\-ctrl /dev/nvme0 \-\-raw\-binary > id_ctrl\&.raw # nvme id\-ctrl /dev/nvme0 \-b > id_ctrl\&.raw .fi .if n \{\ .RE .\} .sp It is probably a bad idea to not redirect stdout when using this mode\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Alternatively you may want to send the data to another program that can parse the raw buffer\&. .sp .if n \{\ .RS 4 .\} .nf # nvme id\-ctrl /dev/nvme0 \-\-raw\-binary | nvme_parse_id_ctrl .fi .if n \{\ .RE .\} .sp The parse program in the above example can be a program that shows the structure in a way you like\&. The following program is such an example that will parse it and can accept the output through a pipe, \*(Aq|\*(Aq, as shown in the above example, or you can \*(Aqcat\*(Aq a saved output buffer to it\&. .RE .sp .if n \{\ .RS 4 .\} .nf /* File: nvme_parse_id_ctrl\&.c */ #include #include #include int main(int argc, char **argv) { unsigned char buf[sizeof(struct nvme_id_ctrl)]; struct nvme_id_ctrl *ctrl = (struct nvme_id_ctrl *)buf; if (read(STDIN_FILENO, buf, sizeof(buf))) return 1; printf("vid : %#x\en", ctrl\->vid); printf("ssvid : %#x\en", ctrl\->ssvid); return 0; } .fi .if n \{\ .RE .\} .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-id-ctrl.html000066400000000000000000000514571352532746300211230ustar00rootroot00000000000000 nvme-id-ctrl(1)

SYNOPSIS

nvme id-ctrl <device> [-v | --vendor-specific] [-b | --raw-binary]
                        [-o <fmt> | --output-format=<fmt>]

DESCRIPTION

For the NVMe device given, sends an identify controller command and provides the result and 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 structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout.

OPTIONS

-b
--raw-binary

Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options.

-v
--vendor-specific

In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation.

-H
--human-readable

This option will parse and format many of the bit fields into human-readable formats.

-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

  • Has the program interpret the returned buffer and display the known fields in a human readable format:

    # nvme id-ctrl /dev/nvme0
  • In addition to showing the known fields, has the program to display the vendor unique field:

    # nvme id-ctrl /dev/nvme0 --vendor-specific
    # nvme id-ctrl /dev/nvme0 -v

    The above will dump the vs buffer in hex since it doesn’t know how to interpret it.

  • Have the program return the raw structure in binary:

    # nvme id-ctrl /dev/nvme0 --raw-binary > id_ctrl.raw
    # nvme id-ctrl /dev/nvme0 -b > id_ctrl.raw

    It is probably a bad idea to not redirect stdout when using this mode.

  • Alternatively you may want to send the data to another program that can parse the raw buffer.

    # nvme id-ctrl /dev/nvme0 --raw-binary | nvme_parse_id_ctrl

    The parse program in the above example can be a program that shows the structure in a way you like. The following program is such an example that will parse it and can accept the output through a pipe, '|', as shown in the above example, or you can 'cat' a saved output buffer to it.

/* File: nvme_parse_id_ctrl.c */

#include <linux/nvme.h>
#include <stdio.h>
#include <unistd.h>

int main(int argc, char **argv)
{
        unsigned char buf[sizeof(struct nvme_id_ctrl)];
        struct nvme_id_ctrl *ctrl = (struct nvme_id_ctrl *)buf;

        if (read(STDIN_FILENO, buf, sizeof(buf)))
                return 1;

        printf("vid   : %#x\n", ctrl->vid);
        printf("ssvid : %#x\n", ctrl->ssvid);
        return 0;
}

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-id-ctrl.txt000066400000000000000000000056511352532746300207710ustar00rootroot00000000000000nvme-id-ctrl(1) =============== NAME ---- nvme-id-ctrl - Send NVMe Identify Controller, return result and structure SYNOPSIS -------- [verse] 'nvme id-ctrl' [-v | --vendor-specific] [-b | --raw-binary] [-o | --output-format=] DESCRIPTION ----------- For the NVMe device given, sends an identify controller command and provides the result and returned structure. The 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 structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout. OPTIONS ------- -b:: --raw-binary:: Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options. -v:: --vendor-specific:: In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation. -H:: --human-readable:: This option will parse and format many of the bit fields into human-readable formats. -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- * Has the program interpret the returned buffer and display the known fields in a human readable format: + ------------ # nvme id-ctrl /dev/nvme0 ------------ + * In addition to showing the known fields, has the program to display the vendor unique field: + ------------ # nvme id-ctrl /dev/nvme0 --vendor-specific # nvme id-ctrl /dev/nvme0 -v ------------ + The above will dump the 'vs' buffer in hex since it doesn't know how to interpret it. * Have the program return the raw structure in binary: + ------------ # nvme id-ctrl /dev/nvme0 --raw-binary > id_ctrl.raw # nvme id-ctrl /dev/nvme0 -b > id_ctrl.raw ------------ + It is probably a bad idea to not redirect stdout when using this mode. * Alternatively you may want to send the data to another program that can parse the raw buffer. + ------------ # nvme id-ctrl /dev/nvme0 --raw-binary | nvme_parse_id_ctrl ------------ + The parse program in the above example can be a program that shows the structure in a way you like. The following program is such an example that will parse it and can accept the output through a pipe, `'|'`, as shown in the above example, or you can `'cat'` a saved output buffer to it. ------------ /* File: nvme_parse_id_ctrl.c */ #include #include #include int main(int argc, char **argv) { unsigned char buf[sizeof(struct nvme_id_ctrl)]; struct nvme_id_ctrl *ctrl = (struct nvme_id_ctrl *)buf; if (read(STDIN_FILENO, buf, sizeof(buf))) return 1; printf("vid : %#x\n", ctrl->vid); printf("ssvid : %#x\n", ctrl->ssvid); return 0; } ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-id-ns.1000066400000000000000000000135321352532746300177630ustar00rootroot00000000000000'\" t .\" Title: nvme-id-ns .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-ID\-NS" "1" "04/08/2019" "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-ns \- Send NVMe Identify Namespace, return result and structure .SH "SYNOPSIS" .sp .nf \fInvme id\-ns\fR [\-v | \-\-vendor\-specific] [\-b | \-\-raw\-binary] [\-\-namespace\-id= | \-n ] [\-f | \-\-force] [\-\-human\-readable | \-H] [\-\-output\-format= | \-o ] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends an identify namespace command and provides the result and returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. If the character device is given, the \*(Aq\-\-namespace\-id\*(Aq option is mandatory, otherwise it will use the ns\-id of the namespace for the block device you opened\&. For block devices, the ns\-id used can be overridden with the same option\&. .sp On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Retrieve the identify namespace structure for the given nsid\&. This is required for the character devices, or overrides the block nsid if given\&. .RE .PP \-f, \-\-force .RS 4 Request controller return the identify namespace structure even if the namespace is not attached to the controller\&. This is valid only for controllers at or newer than revision 1\&.2\&. Controllers at revision lower than this may interpret the command incorrectly\&. .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. .RE .PP \-v, \-\-vendor\-specific .RS 4 In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation\&. .RE .PP \-H, \-\-human\-readable .RS 4 This option will parse and format many of the bit fields into human\-readable formats\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Has the program interpret the returned buffer and display the known fields in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme id\-ns /dev/nvme0n1 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} If using the character device or overriding namespace id: .sp .if n \{\ .RS 4 .\} .nf # nvme id\-ns /dev/nvme0 \-n 1 # nvme id\-ns /dev/nvme0n1 \-n 1 # nvme id\-ns /dev/nvme0 \-\-namespace\-id=1 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} In addition to showing the known fields, have the program to display the vendor unique field: .sp .if n \{\ .RS 4 .\} .nf # nvme id\-ns /dev/nvme0n1 \-\-vendor\-specific # nvme id\-ns /dev/nvme0n1 \-v .fi .if n \{\ .RE .\} .sp The above will dump the \*(Aqvs\*(Aq buffer in hex since it doesn\(cqt know how to interpret it\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Have the program return the raw structure in binary: .sp .if n \{\ .RS 4 .\} .nf # nvme id\-ns /dev/nvme0n1 \-\-raw\-binary > id_ns\&.raw # nvme id\-ns /dev/nvme0n1 \-b > id_ns\&.raw .fi .if n \{\ .RE .\} .sp It is probably a bad idea to not redirect stdout when using this mode\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Alternatively you may want to send the data to another program that can parse the raw buffer\&. .sp .if n \{\ .RS 4 .\} .nf # nvme id\-ns /dev/nvme0n1 \-\-raw\-binary | nvme_parse_id_ns .fi .if n \{\ .RE .\} .sp The parse program in the above example can be a program that shows the structure in a way you like\&. The following program is such an example that will parse it and can accept the output through a pipe, \*(Aq|\*(Aq, as shown in the above example, or you can \*(Aqcat\*(Aq a saved output buffer to it\&. .RE .sp .if n \{\ .RS 4 .\} .nf /* File: nvme_parse_id_ns\&.c */ #include #include #include int main(int argc, char **argv) { unsigned char buf[sizeof(struct nvme_id_ns)]; struct nvme_id_ns *ns = (struct nvme_id_ns *)buf; if (read(STDIN_FILENO, buf, sizeof(buf))) return 1; printf("nsze : %#llx\en", ns\->nsze); printf("ncap : %#llx\en", ns\->ncap); return 0; } .fi .if n \{\ .RE .\} .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-id-ns.html000066400000000000000000000542641352532746300205760ustar00rootroot00000000000000 nvme-id-ns(1)

SYNOPSIS

nvme id-ns <device> [-v | --vendor-specific] [-b | --raw-binary]
                    [--namespace-id=<nsid> | -n <nsid>] [-f | --force]
                    [--human-readable | -H]
                    [--output-format=<fmt> | -o <fmt>]

DESCRIPTION

For the NVMe device given, sends an identify namespace command and provides the result and 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). If the character device is given, the '--namespace-id' option is mandatory, otherwise it will use the ns-id of the namespace for the block device you opened. For block devices, the ns-id used can be overridden with the same option.

On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Retrieve the identify namespace structure for the given nsid. This is required for the character devices, or overrides the block nsid if given.

-f
--force

Request controller return the identify namespace structure even if the namespace is not attached to the controller. This is valid only for controllers at or newer than revision 1.2. Controllers at revision lower than this may interpret the command incorrectly.

-b
--raw-binary

Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options.

-v
--vendor-specific

In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation.

-H
--human-readable

This option will parse and format many of the bit fields into human-readable formats.

-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

  • Has the program interpret the returned buffer and display the known fields in a human readable format:

    # nvme id-ns /dev/nvme0n1
  • If using the character device or overriding namespace id:

    # nvme id-ns /dev/nvme0 -n 1
    # nvme id-ns /dev/nvme0n1 -n 1
    # nvme id-ns /dev/nvme0 --namespace-id=1
  • In addition to showing the known fields, have the program to display the vendor unique field:

    # nvme id-ns /dev/nvme0n1 --vendor-specific
    # nvme id-ns /dev/nvme0n1 -v

    The above will dump the 'vs' buffer in hex since it doesn’t know how to interpret it.

  • Have the program return the raw structure in binary:

    # nvme id-ns /dev/nvme0n1 --raw-binary > id_ns.raw
    # nvme id-ns /dev/nvme0n1 -b > id_ns.raw

    It is probably a bad idea to not redirect stdout when using this mode.

  • Alternatively you may want to send the data to another program that can parse the raw buffer.

    # nvme id-ns /dev/nvme0n1 --raw-binary | nvme_parse_id_ns

    The parse program in the above example can be a program that shows the structure in a way you like. The following program is such an example that will parse it and can accept the output through a pipe, '|', as shown in the above example, or you can 'cat' a saved output buffer to it.

/* File: nvme_parse_id_ns.c */

#include <linux/nvme.h>
#include <stdio.h>
#include <unistd.h>

int main(int argc, char **argv)
{
        unsigned char buf[sizeof(struct nvme_id_ns)];
        struct nvme_id_ns *ns = (struct nvme_id_ns *)buf;

        if (read(STDIN_FILENO, buf, sizeof(buf)))
                return 1;

        printf("nsze : %#llx\n", ns->nsze);
        printf("ncap : %#llx\n", ns->ncap);
        return 0;
}

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-id-ns.txt000066400000000000000000000075461352532746300204520ustar00rootroot00000000000000nvme-id-ns(1) ============= NAME ---- nvme-id-ns - Send NVMe Identify Namespace, return result and structure SYNOPSIS -------- [verse] 'nvme id-ns' [-v | --vendor-specific] [-b | --raw-binary] [--namespace-id= | -n ] [-f | --force] [--human-readable | -H] [--output-format= | -o ] DESCRIPTION ----------- For the NVMe device given, sends an identify namespace command and provides the result and returned structure. The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). If the character device is given, the `'--namespace-id'` option is mandatory, otherwise it will use the ns-id of the namespace for the block device you opened. For block devices, the ns-id used can be overridden with the same option. On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout. OPTIONS ------- -n :: --namespace-id=:: Retrieve the identify namespace structure for the given nsid. This is required for the character devices, or overrides the block nsid if given. -f:: --force:: Request controller return the identify namespace structure even if the namespace is not attached to the controller. This is valid only for controllers at or newer than revision 1.2. Controllers at revision lower than this may interpret the command incorrectly. -b:: --raw-binary:: Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options. -v:: --vendor-specific:: In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation. -H:: --human-readable:: This option will parse and format many of the bit fields into human-readable formats. -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- * Has the program interpret the returned buffer and display the known fields in a human readable format: + ------------ # nvme id-ns /dev/nvme0n1 ------------ + * If using the character device or overriding namespace id: + ------------ # nvme id-ns /dev/nvme0 -n 1 # nvme id-ns /dev/nvme0n1 -n 1 # nvme id-ns /dev/nvme0 --namespace-id=1 ------------ + * In addition to showing the known fields, have the program to display the vendor unique field: + ------------ # nvme id-ns /dev/nvme0n1 --vendor-specific # nvme id-ns /dev/nvme0n1 -v ------------ + The above will dump the \'vs' buffer in hex since it doesn't know how to interpret it. * Have the program return the raw structure in binary: + ------------ # nvme id-ns /dev/nvme0n1 --raw-binary > id_ns.raw # nvme id-ns /dev/nvme0n1 -b > id_ns.raw ------------ + It is probably a bad idea to not redirect stdout when using this mode. * Alternatively you may want to send the data to another program that can parse the raw buffer. + ------------ # nvme id-ns /dev/nvme0n1 --raw-binary | nvme_parse_id_ns ------------ + The parse program in the above example can be a program that shows the structure in a way you like. The following program is such an example that will parse it and can accept the output through a pipe, `'|'`, as shown in the above example, or you can `'cat'` a saved output buffer to it. ------------ /* File: nvme_parse_id_ns.c */ #include #include #include int main(int argc, char **argv) { unsigned char buf[sizeof(struct nvme_id_ns)]; struct nvme_id_ns *ns = (struct nvme_id_ns *)buf; if (read(STDIN_FILENO, buf, sizeof(buf))) return 1; printf("nsze : %#llx\n", ns->nsze); printf("ncap : %#llx\n", ns->ncap); return 0; } ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-id-nvmset.1000066400000000000000000000072131352532746300206560ustar00rootroot00000000000000'\" t .\" Title: nvme-id-nvmset .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-ID\-NVMSET" "1" "01/08/2019" "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-nvmset \- Send NVMe Identify NVM Set List, return result and structure .SH "SYNOPSIS" .sp .nf \fInvme id\-nvmset\fR [\-i | \-\-nvmset_id= ] [\-o | \-\-output\-format=] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends an identify NVM set list command and provides the result and returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. .SH "OPTIONS" .PP \-i , \-\-nvmset_id= .RS 4 This field specifies the identifier of the NVM Set\&. If given, NVM set identifier whose entry is to be in result data will be greater than or equal to this value\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Has the program interpret the returned buffer and display the known fields in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme id\-nvmset /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 .\} Have the program return the raw structure in binary: .sp .if n \{\ .RS 4 .\} .nf # nvme id\-nvmset /dev/nvme0 \-\-output\-format=binary > id_nvmset\&.raw # nvme id\-nvmset /dev/nvme0 \-o binary > id_nvmset\&.raw .fi .if n \{\ .RE .\} .sp It is probably a bad idea to not redirect stdout when using this mode\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Alternatively you may want to send the data to another program that can parse the raw buffer\&. .sp .if n \{\ .RS 4 .\} .nf # nvme id\-nvmset /dev/nvme0 \-o binary | nvme_parse_id_nvmset .fi .if n \{\ .RE .\} .sp The parse program in the above example can be a program that shows the structure in a way you like\&. The following program is such an example that will parse it and can accept the output through a pipe, \*(Aq|\*(Aq, as shown in the above example, or you can \*(Aqcat\*(Aq a saved output buffer to it\&. .RE .sp .if n \{\ .RS 4 .\} .nf NVME .fi .if n \{\ .RE .\} .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-id-nvmset.html000066400000000000000000000470341352532746300214670ustar00rootroot00000000000000 nvme-id-nvmset(1)

SYNOPSIS

nvme id-nvmset <device> [-i <id> | --nvmset_id=<id> ]
                        [-o <fmt> | --output-format=<fmt>]

DESCRIPTION

For the NVMe device given, sends an identify NVM set list command and provides the result and 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 structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout.

OPTIONS

-i <id>
--nvmset_id=<id>

This field specifies the identifier of the NVM Set. If given, NVM set identifier whose entry is to be in result data will be greater than or equal to this value.

-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

  • Has the program interpret the returned buffer and display the known fields in a human readable format:

    # nvme id-nvmset /dev/nvme0
  • Have the program return the raw structure in binary:

    # nvme id-nvmset /dev/nvme0 --output-format=binary > id_nvmset.raw
    # nvme id-nvmset /dev/nvme0 -o binary > id_nvmset.raw

    It is probably a bad idea to not redirect stdout when using this mode.

  • Alternatively you may want to send the data to another program that can parse the raw buffer.

    # nvme id-nvmset /dev/nvme0 -o binary | nvme_parse_id_nvmset

    The parse program in the above example can be a program that shows the structure in a way you like. The following program is such an example that will parse it and can accept the output through a pipe, '|', as shown in the above example, or you can 'cat' a saved output buffer to it.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-id-nvmset.txt000066400000000000000000000040531352532746300213340ustar00rootroot00000000000000nvme-id-nvmset(1) ================= NAME ---- nvme-id-nvmset - Send NVMe Identify NVM Set List, return result and structure SYNOPSIS -------- [verse] 'nvme id-nvmset' [-i | --nvmset_id= ] [-o | --output-format=] DESCRIPTION ----------- For the NVMe device given, sends an identify NVM set list command and provides the result and returned structure. The 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 structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout. OPTIONS ------- -i :: --nvmset_id=:: This field specifies the identifier of the NVM Set. If given, NVM set identifier whose entry is to be in result data will be greater than or equal to this value. -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- * Has the program interpret the returned buffer and display the known fields in a human readable format: + ------------ # nvme id-nvmset /dev/nvme0 ------------ + * Have the program return the raw structure in binary: + ------------ # nvme id-nvmset /dev/nvme0 --output-format=binary > id_nvmset.raw # nvme id-nvmset /dev/nvme0 -o binary > id_nvmset.raw ------------ + It is probably a bad idea to not redirect stdout when using this mode. * Alternatively you may want to send the data to another program that can parse the raw buffer. + ------------ # nvme id-nvmset /dev/nvme0 -o binary | nvme_parse_id_nvmset ------------ + The parse program in the above example can be a program that shows the structure in a way you like. The following program is such an example that will parse it and can accept the output through a pipe, `'|'`, as shown in the above example, or you can `'cat'` a saved output buffer to it. ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-intel-id-ctrl.1000066400000000000000000000060721352532746300214210ustar00rootroot00000000000000'\" t .\" Title: nvme-intel-id-ctrl .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-INTEL\-ID\-CTR" "1" "01/08/2019" "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-intel-id-ctrl \- Send NVMe Identify Controller, return result and structure .SH "SYNOPSIS" .sp .nf \fInvme intel id\-ctrl\fR [\-v | \-\-vendor\-specific] [\-b | \-\-raw\-binary] [\-o | \-\-output\-format=] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends an identify controller command and provides the result and returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. .sp If having the program decode the output for readability, this version will decode Intel vendor unique portions of the structure\&. .SH "OPTIONS" .PP \-b, \-\-raw\-binary .RS 4 Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. .RE .PP \-v, \-\-vendor\-specific .RS 4 In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation\&. .RE .PP \-H, \-\-human\-readable .RS 4 This option will parse and format many of the bit fields into human\-readable formats\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Has the program interpret the returned buffer and display the known fields in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme intel id\-ctrl /dev/nvme0 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-intel-id-ctrl.html000066400000000000000000000460561352532746300222330ustar00rootroot00000000000000 nvme-intel-id-ctrl(1)

SYNOPSIS

nvme intel id-ctrl <device> [-v | --vendor-specific] [-b | --raw-binary]
                        [-o <fmt> | --output-format=<fmt>]

DESCRIPTION

For the NVMe device given, sends an identify controller command and provides the result and 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 structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout.

If having the program decode the output for readability, this version will decode Intel vendor unique portions of the structure.

OPTIONS

-b
--raw-binary

Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options.

-v
--vendor-specific

In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation.

-H
--human-readable

This option will parse and format many of the bit fields into human-readable formats.

-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

  • Has the program interpret the returned buffer and display the known fields in a human readable format:

    # nvme intel id-ctrl /dev/nvme0

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-intel-id-ctrl.txt000066400000000000000000000032701352532746300220750ustar00rootroot00000000000000nvme-intel-id-ctrl(1) ===================== NAME ---- nvme-intel-id-ctrl - Send NVMe Identify Controller, return result and structure SYNOPSIS -------- [verse] 'nvme intel id-ctrl' [-v | --vendor-specific] [-b | --raw-binary] [-o | --output-format=] DESCRIPTION ----------- For the NVMe device given, sends an identify controller command and provides the result and returned structure. The 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 structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout. If having the program decode the output for readability, this version will decode Intel vendor unique portions of the structure. OPTIONS ------- -b:: --raw-binary:: Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options. -v:: --vendor-specific:: In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation. -H:: --human-readable:: This option will parse and format many of the bit fields into human-readable formats. -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- * Has the program interpret the returned buffer and display the known fields in a human readable format: + ------------ # nvme intel id-ctrl /dev/nvme0 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-intel-internal-log.1000066400000000000000000000065151352532746300224600ustar00rootroot00000000000000'\" t .\" Title: nvme-intel-internal-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-INTEL\-INTERNA" "1" "01/08/2019" "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-intel-internal-log \- Retrieve Intel device\*(Aqs internal log and save to file\&. .SH "SYNOPSIS" .sp .nf \*(Aqnvme intel internal\-log \*(Aq [\-\-log=, \-l ] [\-\-region=, r ] [\-\-nlognum=, m ] [\-\-namespace\-id=, \-n ] [\-\-output\-file=, \-o ] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends the Intel vendor unique device log request and saves the result to a file\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. If using the character device, the namespace id parameter is mandatory\&. .sp This will only work on Intel devices supporting this feature which includes (but not limited to) all the Intel DC P3xxx family of controllers\&. Results for any other device are undefined\&. .SH "OPTIONS" .PP \-l , \-\-log= .RS 4 Log type: 0, 1, or 2 for nlog, event log, and assert log, respectively\&. .RE .PP \-n , \-\-namespace\-id= .RS 4 Namespace to use\&. .RE .PP \-o , \-\-output\-file= .RS 4 Output file; defaults to device name provided .RE .PP \-r , \-\-region= .RS 4 Select which core region to retrieve the log from\&. \-1 for all available, if supported by the device\&. .RE .PP \-m , \-\-nlognum= .RS 4 When used with \fInlog\fR, this specifies which nlog to read\&. \-1 for all, if supported by the device\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Gets the nlog from the device and saves to default file: .sp .if n \{\ .RS 4 .\} .nf # nvme intel internal\-log /dev/nvme0 \-\-namespace\-id=1 \-\-log=0 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Gets the event log from the device and saves to defined file: .sp .if n \{\ .RS 4 .\} .nf # nvme intel internal\-log /dev/nvme0 \-\-namespace\-id=1 \-\-log=1 \-\-output\-file=MyAwesomeEventLog .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-intel-internal-log.html000066400000000000000000000454541352532746300232710ustar00rootroot00000000000000 nvme-intel-internal-log(1)

SYNOPSIS

'nvme intel internal-log ' <device> [--log=<NUM>, -l <NUM>]
                [--namespace-id=<NUM>, -n <NUM>]
                [--output-file=<FILE>, -o <FILE>]

DESCRIPTION

For the NVMe device given, sends the Intel vendor unique device log request and saves the result to a file.

The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). If using the character device, the namespace id parameter is mandatory.

This will only work on Intel devices supporting this feature which includes (but not limited to) all the Intel DC P3xxx family of controllers. Results for any other device are undefined.

OPTIONS

-l <NUM>
--log=<NUM>

Log type: 0, 1, or 2 for nlog, event log, and assert log, respectively.

-n <NUM>
--namespace-id=<NUM>

Namespace to use.

-o <FILE>
--output-file=<FILE>

Output file; defaults to device name provided

EXAMPLES

  • Gets the nlog from the device and saves to default file:

    # nvme intel internal-log /dev/nvme0 --namespace-id=1 --log=0
  • Gets the event log from the device and saves to defined file:

    # nvme intel internal-log /dev/nvme0 --namespace-id=1 --log=1 --output-file=MyAwesomeEventLog

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-intel-internal-log.txt000066400000000000000000000034251352532746300231340ustar00rootroot00000000000000nvme-intel-internal-log(1) ========================== NAME ---- nvme-intel-internal-log - Retrieve Intel device's internal log and save to file. SYNOPSIS -------- [verse] 'nvme intel internal-log ' [--log=, -l ] [--region=, r ] [--nlognum=, m ] [--namespace-id=, -n ] [--output-file=, -o ] DESCRIPTION ----------- For the NVMe device given, sends the Intel vendor unique device log request and saves the result to a file. The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). If using the character device, the namespace id parameter is mandatory. This will only work on Intel devices supporting this feature which includes (but not limited to) all the Intel DC P3xxx family of controllers. Results for any other device are undefined. OPTIONS ------- -l :: --log=:: Log type: 0, 1, or 2 for nlog, event log, and assert log, respectively. -n :: --namespace-id=:: Namespace to use. -o :: --output-file=:: Output file; defaults to device name provided -r :: --region=:: Select which core region to retrieve the log from. -1 for all available, if supported by the device. -m :: --nlognum=:: When used with 'nlog', this specifies which nlog to read. -1 for all, if supported by the device. EXAMPLES -------- * Gets the nlog from the device and saves to default file: + ------------ # nvme intel internal-log /dev/nvme0 --namespace-id=1 --log=0 ------------ + * Gets the event log from the device and saves to defined file: + ------------ # nvme intel internal-log /dev/nvme0 --namespace-id=1 --log=1 --output-file=MyAwesomeEventLog ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-intel-lat-stats.1000066400000000000000000000051571352532746300220020ustar00rootroot00000000000000'\" t .\" Title: nvme-intel-lat-stats .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-INTEL\-LAT\-ST" "1" "01/08/2019" "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-intel-lat-stats \- Send NVMe Identify Controller, return result and structure .SH "SYNOPSIS" .sp .nf \fInvme intel lat\-stats\fR [\-\-write | \-w] [\-\-raw\-binary | \-b] .fi .SH "DESCRIPTION" .sp For the NVMe device given, retrieves intel vendor specific latency statistics and provides the result and returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. .SH "OPTIONS" .PP \-b, \-\-raw\-binary .RS 4 Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. .RE .PP \-w, \-\-write .RS 4 Get write statistics\&. Read statistics are returned by default\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Get the read statistics .sp .if n \{\ .RS 4 .\} .nf # nvme intel lat\-stats /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 .\} Get the write statistics .sp .if n \{\ .RS 4 .\} .nf # nvme intel lat\-stats /dev/nvme0 \-w .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-intel-lat-stats.html000066400000000000000000000445271352532746300226120ustar00rootroot00000000000000 nvme-intel-lat-stats(1)

SYNOPSIS

nvme intel lat-stats <device> [--write | -w] [--raw-binary | -b]

DESCRIPTION

For the NVMe device given, retrieves intel vendor specific latency statistics and provides the result and 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 structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout.

OPTIONS

-b
--raw-binary

Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options.

-w
--write

Get write statistics. Read statistics are returned by default.

EXAMPLES

  • Get the read statistics

    # nvme intel lat-stats /dev/nvme0
  • Get the write statistics

    # nvme intel lat-stats /dev/nvme0 -w

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-intel-lat-stats.txt000066400000000000000000000022701352532746300224520ustar00rootroot00000000000000nvme-intel-lat-stats(1) ======================= NAME ---- nvme-intel-lat-stats - Send NVMe Identify Controller, return result and structure SYNOPSIS -------- [verse] 'nvme intel lat-stats' [--write | -w] [--raw-binary | -b] DESCRIPTION ----------- For the NVMe device given, retrieves intel vendor specific latency statistics and provides the result and returned structure. The 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 structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout. OPTIONS ------- -b:: --raw-binary:: Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options. -w:: --write:: Get write statistics. Read statistics are returned by default. EXAMPLES -------- * Get the read statistics + ------------ # nvme intel lat-stats /dev/nvme0 ------------ + * Get the write statistics + ------------ # nvme intel lat-stats /dev/nvme0 -w ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-intel-market-name.1000066400000000000000000000046341352532746300222660ustar00rootroot00000000000000'\" t .\" Title: nvme-intel-market-name .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-INTEL\-MARKET\" "1" "01/08/2019" "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-intel-market-name \- Send NVMe Identify Controller, return result and structure .SH "SYNOPSIS" .sp .nf \fInvme intel market\-name\fR [\-\-raw\-binary | \-b] .fi .SH "DESCRIPTION" .sp For the NVMe device given, retrieves intel vendor specific marketing name log page and provides the result and returned structure\&. The output is simply the marketing name used to identify what kind of device it is\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. .SH "OPTIONS" .PP \-b, \-\-raw\-binary .RS 4 Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Get the marketing name .sp .if n \{\ .RS 4 .\} .nf # nvme intel market\-name /dev/nvme0 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-intel-market-name.html000066400000000000000000000441231352532746300230670ustar00rootroot00000000000000 nvme-intel-market-name(1)

SYNOPSIS

nvme intel market-name <device> [--raw-binary | -b]

DESCRIPTION

For the NVMe device given, retrieves intel vendor specific marketing name log page and provides the result and returned structure. The output is simply the marketing name used to identify what kind of device it is.

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 structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout.

OPTIONS

-b
--raw-binary

Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options.

EXAMPLES

  • Get the marketing name

    # nvme intel market-name /dev/nvme0

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-intel-market-name.txt000066400000000000000000000021341352532746300227360ustar00rootroot00000000000000nvme-intel-market-name(1) ========================= NAME ---- nvme-intel-market-name - Send NVMe Identify Controller, return result and structure SYNOPSIS -------- [verse] 'nvme intel market-name' [--raw-binary | -b] DESCRIPTION ----------- For the NVMe device given, retrieves intel vendor specific marketing name log page and provides the result and returned structure. The output is simply the marketing name used to identify what kind of device it is. The 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 structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout. OPTIONS ------- -b:: --raw-binary:: Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options. EXAMPLES -------- * Get the marketing name + ------------ # nvme intel market-name /dev/nvme0 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-intel-smart-log-add.1000066400000000000000000000063161352532746300225170ustar00rootroot00000000000000'\" t .\" Title: nvme-intel-smart-log-add .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-INTEL\-SMART\-" "1" "04/08/2019" "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-intel-smart-log-add \- Send NVMe Intel Additional SMART log page request, returns result and log .SH "SYNOPSIS" .sp .nf \fInvme intel smart\-log\-add\fR [\-\-namespace\-id= | \-n ] [\-\-raw\-binary | \-b] [\-\-json | \-j] .fi .SH "DESCRIPTION" .sp Retrieves the NVMe Intel Additional SMART log page from the device and provides the returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned smart 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 or the raw buffer may be printed to stdout for another program to parse\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Retrieve the Additional SMART log for the given nsid\&. This is optional and its success may depend on the device\(cqs capabilities to provide this log on a per\-namespace basis (see the NVMe Identify Controller for this capability)\&. The default nsid to use is 0xffffffff for the device global SMART log\&. .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw Intel Additional SMART log buffer to stdout\&. .RE .PP \-j, \-\-json .RS 4 Dump output in json format\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Print the Intel Additional SMART log page in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme intel smart\-log\-add /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 Intel Additional SMART log to a file: .sp .if n \{\ .RS 4 .\} .nf # nvme intel smart\-log\-add /dev/nvme0 \-\-raw\-binary > smart_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 nvme-cli-1.9/Documentation/nvme-intel-smart-log-add.html000066400000000000000000000463021352532746300233220ustar00rootroot00000000000000 nvme-intel-smart-log-add(1)

SYNOPSIS

nvme intel smart-log-add <device> [--namespace-id=<nsid> | -n <nsid>]
                        [--raw-binary | -b]
                        [--json | -j]

DESCRIPTION

Retrieves the NVMe Intel Additional SMART log page from the 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 smart 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 or the raw buffer may be printed to stdout for another program to parse.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Retrieve the Additional SMART log for the given nsid. This is optional and its success may depend on the device’s capabilities to provide this log on a per-namespace basis (see the NVMe Identify Controller for this capability). The default nsid to use is 0xffffffff for the device global SMART log.

-b
--raw-binary

Print the raw Intel Additional SMART log buffer to stdout.

-j
--json

Dump output in json format.

EXAMPLES

  • Print the Intel Additional SMART log page in a human readable format:

    # nvme intel smart-log-add /dev/nvme0
  • Print the raw Intel Additional SMART log to a file:

    # nvme intel smart-log-add /dev/nvme0 --raw-binary > smart_log.raw

    It is probably a bad idea to not redirect stdout when using this mode.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-intel-smart-log-add.txt000066400000000000000000000033411352532746300231710ustar00rootroot00000000000000nvme-intel-smart-log-add(1) =========================== NAME ---- nvme-intel-smart-log-add - Send NVMe Intel Additional SMART log page request, returns result and log SYNOPSIS -------- [verse] 'nvme intel smart-log-add' [--namespace-id= | -n ] [--raw-binary | -b] [--json | -j] DESCRIPTION ----------- Retrieves the NVMe Intel Additional SMART log page from the device and provides the returned structure. The 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 smart 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 or the raw buffer may be printed to stdout for another program to parse. OPTIONS ------- -n :: --namespace-id=:: Retrieve the Additional SMART log for the given nsid. This is optional and its success may depend on the device's capabilities to provide this log on a per-namespace basis (see the NVMe Identify Controller for this capability). The default nsid to use is 0xffffffff for the device global SMART log. -b:: --raw-binary:: Print the raw Intel Additional SMART log buffer to stdout. -j:: --json:: Dump output in json format. EXAMPLES -------- * Print the Intel Additional SMART log page in a human readable format: + ------------ # nvme intel smart-log-add /dev/nvme0 ------------ + * Print the raw Intel Additional SMART log to a file: + ------------ # nvme intel smart-log-add /dev/nvme0 --raw-binary > smart_log.raw ------------ + It is probably a bad idea to not redirect stdout when using this mode. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-intel-temp-stats.1000066400000000000000000000052121352532746300221570ustar00rootroot00000000000000'\" t .\" Title: nvme-intel-temp-stats .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-INTEL\-TEMP\-S" "1" "04/08/2019" "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-intel-temp-stats \- Send NVMe SMART log page request, returns result and log .SH "SYNOPSIS" .sp .nf \fInvme intel temp\-stats\fR [\-\-raw\-binary | \-b] .fi .SH "DESCRIPTION" .sp Retrieves the NVMe Intel Additional SMART log page from the device and provides the returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned smart 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 or the raw buffer may be printed to stdout for another program to parse\&. .SH "OPTIONS" .PP \-b, \-\-raw\-binary .RS 4 Print the raw temperature stats log buffer to stdout\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Print the temperature stats log page in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme intel temp\-stats /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 SMART log to a file: .sp .if n \{\ .RS 4 .\} .nf # nvme intel temp\-stats /dev/nvme0 \-\-raw\-binary > temp_stats_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 nvme-cli-1.9/Documentation/nvme-intel-temp-stats.html000066400000000000000000000445111352532746300227700ustar00rootroot00000000000000 nvme-intel-temp-stats(1)

SYNOPSIS

nvme intel temp-stats <device> [--raw-binary | -b]

DESCRIPTION

Retrieves the NVMe Intel Additional SMART log page from the 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 smart 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 or the raw buffer may be printed to stdout for another program to parse.

OPTIONS

-b
--raw-binary

Print the raw temperature stats log buffer to stdout.

EXAMPLES

  • Print the temperature stats log page in a human readable format:

    # nvme intel temp-stats /dev/nvme0
  • Print the raw SMART log to a file:

    # nvme intel temp-stats /dev/nvme0 --raw-binary > temp_stats_log.raw

    It is probably a bad idea to not redirect stdout when using this mode.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-intel-temp-stats.txt000066400000000000000000000023421352532746300226370ustar00rootroot00000000000000nvme-intel-temp-stats(1) ======================== NAME ---- nvme-intel-temp-stats - Send NVMe SMART log page request, returns result and log SYNOPSIS -------- [verse] 'nvme intel temp-stats' [--raw-binary | -b] DESCRIPTION ----------- Retrieves the NVMe Intel Additional SMART log page from the device and provides the returned structure. The 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 smart 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 or the raw buffer may be printed to stdout for another program to parse. OPTIONS ------- -b:: --raw-binary:: Print the raw temperature stats log buffer to stdout. EXAMPLES -------- * Print the temperature stats log page in a human readable format: + ------------ # nvme intel temp-stats /dev/nvme0 ------------ + * Print the raw SMART log to a file: + ------------ # nvme intel temp-stats /dev/nvme0 --raw-binary > temp_stats_log.raw ------------ + It is probably a bad idea to not redirect stdout when using this mode. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-io-passthru.1000066400000000000000000000116551352532746300212330ustar00rootroot00000000000000'\" t .\" Title: nvme-io-passthru .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-IO\-PASSTHRU" "1" "04/08/2019" "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-io-passthru \- Submit an arbitrary io command, return results .SH "SYNOPSIS" .sp .nf \fInvme\-io\-passthru\fR [\-\-opcode= | \-o ] [\-\-flags= | \-f ] [\-rsvd= | \-R ] [\-\-namespace\-id= | \-nsid ] [\-\-cdw2=] [\-\-cdw3=] [\-\-cdw10=] [\-\-cdw11=] [\-\-cdw12=] [\-\-cdw13=] [\-\-cdw14=] [\-\-cdw15=] [\-\-data\-len= | \-l ] [\-\-metadata\-len= | \-m ] [\-\-read | \-r ] [\-\-write | \-w] [\-\-input\-file= | \-i ] [\-\-timeout= | \-t ] [\-\-show\-command | \-s] [\-\-dry\-run | \-d] [\-\-raw\-binary | \-b] [\-\-prefill= | \-p ] .fi .SH "DESCRIPTION" .sp Submits an arbitrary NVMe IO command and returns the applicable results\&. This may be the simply the command\(cqs result and status, or may also include a buffer if the command returns one\&. This command does no interpretation of the opcodes or options\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned structure (if applicable) may be returned in one of several ways depending on the option flags; the structure may printed by the program as a hex dump, or may be returned as a raw buffer printed to stdout for another program to parse\&. .SH "OPTIONS" .PP \-o , \-\-opcode= .RS 4 The NVMe opcode to send to the device in the command .RE .PP \-f , \-\-flags= .RS 4 The NVMe command flags to send to the device in the command .RE .PP \-R , \-\-rsvd= .RS 4 The value for the reserved field in the command\&. .RE .PP \-n , \-\-namespace\-id= .RS 4 The value for the ns\-id in the command\&. Defaults to \fI0\fR\&. .RE .PP \-\-cdw[2\-3,10\-15]= .RS 4 Specifies the command dword value for that specified entry in the command .RE .PP \-r, \-\-read, \-w, \-\-write .RS 4 Used for the data\-direction for the command and required for commands sending/receiving data\&. Don\(cqt use both read and write at the same time\&. .RE .PP \-i , \-\-input\-file= .RS 4 If the command is a data\-out (write) command, use this file to fill the buffer sent to the device\&. If no file is given, assumed to use STDIN\&. .RE .PP \-l , \-\-data\-len= .RS 4 The data length for the buffer used for this command\&. .RE .PP \-m , \-\-metadata\-len= .RS 4 The metadata length for the buffer used for this command\&. .RE .PP \-s, \-\-show\-cmd .RS 4 Print out the command to be sent\&. .RE .PP \-d, \-\-dry\-run .RS 4 Do not actually send the command\&. If want to use \-\-dry\-run option, \-\-show\-cmd option \fImust\fR be set\&. Otherwise \-\-dry\-run option will be \fIignored\fR\&. .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw returned buffer to stdout if the command returns data or a structure\&. .RE .PP \-p , \-\-prefill .RS 4 Prefill the buffer with a predetermined byte value\&. Defaults to 0\&. This may be useful if the data you are writing is shorter than the required buffer, and you need to pad it with a known value\&. It may also be useful if you need to confirm if a device is overwriting a buffer on a data\-in command\&. .RE .SH "EXAMPLES" .sp nvme io\-passthru /dev/nvme0n1 \-\-opcode=2 \-\-namespace\-id=1 \-\-data\-len=4096 \-\-read \-\-cdw10=0 \-\-cdw11=0 \-\-cdw12=0x70000 \-\-raw\-binary .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-io-passthru.html000066400000000000000000000535041352532746300220360ustar00rootroot00000000000000 nvme-io-passthru(1)

SYNOPSIS

nvme-io-passthru <device> [--opcode=<opcode> | -o <opcode>]
                [--flags=<flags> | -f <flags>] [-rsvd=<rsvd> | -R <rsvd>]
                [--namespace-id=<nsid> | -nsid <nsid>]
                [--cdw2=<cdw2>] [--cdw3=<cdw3>] [--cdw10=<cdw10>]
                [--cdw11=<cdw11>] [--cdw12=<cdw12>] [--cdw13=<cdw13>]
                [--cdw14=<cdw14>] [--cdw15=<cdw15>]
                [--data-len=<data-len> | -l <data-len>]
                [--metadata-len=<len> | -m <len>]
                [--read | -r ] [--write | -w]
                [--input-file=<file> | -i <file>]
                [--timeout=<to> | -t <to>]
                [--show-command | -s]
                [--dry-run | -d]
                [--raw-binary | -b]
                [--prefill=<prefill> | -p <prefill>]

DESCRIPTION

Submits an arbitrary NVMe IO command and returns the applicable results. This may be the simply the command’s result and status, or may also include a buffer if the command returns one. This command does no interpretation of the opcodes or options.

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 structure (if applicable) may be returned in one of several ways depending on the option flags; the structure may printed by the program as a hex dump, or may be returned as a raw buffer printed to stdout for another program to parse.

OPTIONS

-o <opcode>
--opcode=<opcode>

The NVMe opcode to send to the device in the command

-f <flags>
--flags=<flags>

The NVMe command flags to send to the device in the command

-R <rsvd>
--rsvd=<rsvd>

The value for the reserved field in the command.

-n <nsid>
--namespace-id=<nsid>

The value for the ns-id in the command. Defaults to 0.

--cdw[2-3,10-15]=<cdw>

Specifies the command dword value for that specified entry in the command

-r
--read
-w
--write

Used for the data-direction for the command and required for commands sending/receiving data. Don’t use both read and write at the same time.

-i <file>
--input-file=<file>

If the command is a data-out (write) command, use this file to fill the buffer sent to the device. If no file is given, assumed to use STDIN.

-l <data-len>
--data-len=<data-len>

The data length for the buffer used for this command.

-m <data-len>
--metadata-len=<data-len>

The metadata length for the buffer used for this command.

-s
--show-cmd

Print out the command to be sent.

-d
--dry-run

Do not actually send the command. If want to use --dry-run option, --show-cmd option must be set. Otherwise --dry-run option will be ignored.

-b
--raw-binary

Print the raw returned buffer to stdout if the command returns data or a structure.

-p <prefill>
--prefill <prefill>

Prefill the buffer with a predetermined byte value. Defaults to 0. This may be useful if the data you are writing is shorter than the required buffer, and you need to pad it with a known value. It may also be useful if you need to confirm if a device is overwriting a buffer on a data-in command.

EXAMPLES

nvme io-passthru /dev/nvme0n1 --opcode=2 --namespace-id=1 --data-len=4096 --read --cdw10=0 --cdw11=0 --cdw12=0x70000 --raw-binary

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-io-passthru.txt000066400000000000000000000063441352532746300217110ustar00rootroot00000000000000nvme-io-passthru(1) =================== NAME ---- nvme-io-passthru - Submit an arbitrary io command, return results SYNOPSIS -------- [verse] 'nvme-io-passthru' [--opcode= | -o ] [--flags= | -f ] [-rsvd= | -R ] [--namespace-id= | -nsid ] [--cdw2=] [--cdw3=] [--cdw10=] [--cdw11=] [--cdw12=] [--cdw13=] [--cdw14=] [--cdw15=] [--data-len= | -l ] [--metadata-len= | -m ] [--read | -r ] [--write | -w] [--input-file= | -i ] [--timeout= | -t ] [--show-command | -s] [--dry-run | -d] [--raw-binary | -b] [--prefill= | -p ] DESCRIPTION ----------- Submits an arbitrary NVMe IO command and returns the applicable results. This may be the simply the command's result and status, or may also include a buffer if the command returns one. This command does no interpretation of the opcodes or options. The 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 structure (if applicable) may be returned in one of several ways depending on the option flags; the structure may printed by the program as a hex dump, or may be returned as a raw buffer printed to stdout for another program to parse. OPTIONS ------- -o :: --opcode=:: The NVMe opcode to send to the device in the command -f :: --flags=:: The NVMe command flags to send to the device in the command -R :: --rsvd=:: The value for the reserved field in the command. -n :: --namespace-id=:: The value for the ns-id in the command. Defaults to '0'. --cdw[2-3,10-15]=:: Specifies the command dword value for that specified entry in the command -r:: --read:: -w:: --write:: Used for the data-direction for the command and required for commands sending/receiving data. Don't use both read and write at the same time. -i :: --input-file=:: If the command is a data-out (write) command, use this file to fill the buffer sent to the device. If no file is given, assumed to use STDIN. -l :: --data-len=:: The data length for the buffer used for this command. -m :: --metadata-len=:: The metadata length for the buffer used for this command. -s:: --show-cmd:: Print out the command to be sent. -d:: --dry-run:: Do not actually send the command. If want to use --dry-run option, --show-cmd option _must_ be set. Otherwise --dry-run option will be _ignored_. -b:: --raw-binary:: Print the raw returned buffer to stdout if the command returns data or a structure. -p :: --prefill :: Prefill the buffer with a predetermined byte value. Defaults to 0. This may be useful if the data you are writing is shorter than the required buffer, and you need to pad it with a known value. It may also be useful if you need to confirm if a device is overwriting a buffer on a data-in command. EXAMPLES -------- nvme io-passthru /dev/nvme0n1 --opcode=2 --namespace-id=1 --data-len=4096 --read --cdw10=0 --cdw11=0 --cdw12=0x70000 --raw-binary NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-list-ctrl.1000066400000000000000000000050241352532746300206630ustar00rootroot00000000000000'\" t .\" Title: nvme-id-ns .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-ID\-NS" "1" "01/08/2019" "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-list-ctrl \- Send NVMe Identify List Controllers, return result and structure .SH "SYNOPSIS" .sp .nf \fInvme list\-ctrl\fR [\-\-cntid= | \-c ] [\-\-namespace\-id= | \-n ] DESCRIPTION .fi .sp .nf For the NVMe device given, sends an identify command for controller list and provides the result and returned structure\&. This uses either mode 12h or 13h depending on the requested namespace identifier\&. The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. The starting controller in the list always begins with 0 unless the `\*(Aq\-\-cntid\*(Aq` option is given to override\&. On success, the controller array is printed for each index and controller identifier\&. OPTIONS .fi .PP \-c , \-\-cntid= .RS 4 Retrieve the identify list structure starting with the given controller id\&. .RE .PP \-n , \-\-namespace\-id= .RS 4 If provided, will request the controllers attached to the specified namespace\&. If no namespace is given, or set to 0, the command requests the controller list for the entire subsystem, whether or not they are attached to namespace(s)\&. .RE .SH "EXAMPLES" .sp No examples yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-list-ctrl.html000066400000000000000000000442331352532746300214740ustar00rootroot00000000000000 nvme-id-ns(1)

SYNOPSIS

nvme list-ctrl <device> [--cntid=<cntid> | -c <cntid>]
                        [--namespace-id=<nsid> | -n <nsid>]
DESCRIPTION
For the NVMe device given, sends an identify command for controller list
and provides the result and returned structure. This uses either mode
12h or 13h depending on the requested namespace identifier.

The <device> parameter is mandatory and may be either the NVMe character
device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).
The starting controller in the list always begins with 0 unless the
`'--cntid'` option is given to override.

On success, the controller array is printed for each index and controller
identifier.

OPTIONS
-c <cntid>
--cntid=<cntid>

Retrieve the identify list structure starting with the given controller id.

-n <nsid>
--namespace-id=<nsid>

If provided, will request the controllers attached to the specified namespace. If no namespace is given, or set to 0, the command requests the controller list for the entire subsystem, whether or not they are attached to namespace(s).

EXAMPLES

No examples yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-list-ctrl.txt000066400000000000000000000024121352532746300213400ustar00rootroot00000000000000nvme-id-ns(1) ============= NAME ---- nvme-list-ctrl - Send NVMe Identify List Controllers, return result and structure SYNOPSIS -------- [verse] 'nvme list-ctrl' [--cntid= | -c ] [--namespace-id= | -n ] DESCRIPTION ----------- For the NVMe device given, sends an identify command for controller list and provides the result and returned structure. This uses either mode 12h or 13h depending on the requested namespace identifier. The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). The starting controller in the list always begins with 0 unless the `'--cntid'` option is given to override. On success, the controller array is printed for each index and controller identifier. OPTIONS ------- -c :: --cntid=:: Retrieve the identify list structure starting with the given controller id. -n :: --namespace-id=:: If provided, will request the controllers attached to the specified namespace. If no namespace is given, or set to 0, the command requests the controller list for the entire subsystem, whether or not they are attached to namespace(s). EXAMPLES -------- No examples yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-list-ns.1000066400000000000000000000044301352532746300203370ustar00rootroot00000000000000'\" t .\" Title: nvme-id-ns .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-ID\-NS" "1" "01/08/2019" "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-list-ns \- Send NVMe Identify List Namespaces, return result and structure .SH "SYNOPSIS" .sp .nf \fInvme list\-ns\fR [\-\-namespace\-id= | \-n ] [\-\-all | \-a] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends an identify command for namespace list and provides the result and returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. If the starting namespace in the list always begins with 0 unless the \*(Aq\-\-namespace\-id\*(Aq option is given to override\&. .sp On success, the namespace array is printed for each index and nsid for a valid nsid\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Retrieve the identify list structure starting with the given nsid\&. .RE .PP \-a, \-\-all .RS 4 Retrieve the identify list structure for all namespaces in the subsystem, whether attached or inactive\&. .RE .SH "EXAMPLES" .sp No examples yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-list-ns.html000066400000000000000000000441731352532746300211530ustar00rootroot00000000000000 nvme-id-ns(1)

SYNOPSIS

nvme list-ns <device> [--namespace-id=<nsid> | -n <nsid>]
                        [--all | -a]

DESCRIPTION

For the NVMe device given, sends an identify command for namespace list and provides the result and 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). If the starting namespace in the list always begins with 0 unless the '--namespace-id' option is given to override.

On success, the namespace array is printed for each index and nsid for a valid nsid.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Retrieve the identify list structure starting with the given nsid.

-a
--all

Retrieve the identify list structure for all namespaces in the subsystem, whether attached or inactive.

EXAMPLES

No examples yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-list-ns.txt000066400000000000000000000020111352532746300210070ustar00rootroot00000000000000nvme-id-ns(1) ============= NAME ---- nvme-list-ns - Send NVMe Identify List Namespaces, return result and structure SYNOPSIS -------- [verse] 'nvme list-ns' [--namespace-id= | -n ] [--all | -a] DESCRIPTION ----------- For the NVMe device given, sends an identify command for namespace list and provides the result and returned structure. The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). If the starting namespace in the list always begins with 0 unless the `'--namespace-id'` option is given to override. On success, the namespace array is printed for each index and nsid for a valid nsid. OPTIONS ------- -n :: --namespace-id=:: Retrieve the identify list structure starting with the given nsid. -a:: --all:: Retrieve the identify list structure for all namespaces in the subsystem, whether attached or inactive. EXAMPLES -------- No examples yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-list-subsys.1000066400000000000000000000066511352532746300212560ustar00rootroot00000000000000'\" t .\" Title: nvme-list-subsys .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-LIST\-SUBSYS" "1" "04/08/2019" "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-list-subsys \- List all NVMe subsystems .SH "SYNOPSIS" .sp .nf \fInvme list\-subsys\fR [\-o | \-\-output\-format=] .fi .SH "DESCRIPTION" .sp Scan the sysfs tree for NVM Express subsystems and return the controllers for those subsystems as well as some pertinent information about them\&. If a device is given, print out only the values for the controllers and subsystems leading to the device\&. .SH "OPTIONS" .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR or \fIjson\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .if n \{\ .RS 4 .\} .nf \m[blue]\fBroot@host\fR\m[]\&\s-2\u[1]\d\s+2# nvme list\-subsys nvme\-subsys0 \- NQN=nvmf\-test \e +\- nvme0 rdma traddr=1\&.1\&.1\&.3 trsvcid=4420 host_traddr=1\&.1\&.1\&.1 +\- nvme1 rdma traddr=1\&.1\&.1\&.3 trsvcid=4420 host_traddr=1\&.1\&.1\&.2 nvme\-subsys1 \- NQN=nvmf\-test2 \e +\- nvme2 rdma traddr=1\&.1\&.1\&.3 trsvcid=4420 host_traddr=1\&.1\&.1\&.2 +\- nvme3 rdma traddr=1\&.1\&.1\&.3 trsvcid=4420 host_traddr=1\&.1\&.1\&.1 .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf \m[blue]\fBroot@host\fR\m[]\&\s-2\u[1]\d\s+2# nvme list\-subsys \-o json { "Subsystems" : [ { "Name" : "nvme\-subsys0", "NQN" : "nvmf\-test" }, { "Paths" : [ { "Name" : "nvme0", "Transport" : "rdma", "Address" : "traddr=1\&.1\&.1\&.3 trsvcid=4420 host_traddr=1\&.1\&.1\&.1" }, { "Name" : "nvme1", "Transport" : "rdma", "Address" : "traddr=1\&.1\&.1\&.3 trsvcid=4420 host_traddr=1\&.1\&.1\&.2" } ] }, { "Name" : "nvme\-subsys1", "NQN" : "nvmf\-test2" }, { "Paths" : [ { "Name" : "nvme2", "Transport" : "rdma", "Address" : "traddr=1\&.1\&.1\&.3 trsvcid=4420 host_traddr=1\&.1\&.1\&.2" }, { "Name" : "nvme3", "Transport" : "rdma", "Address" : "traddr=1\&.1\&.1\&.3 trsvcid=4420 host_traddr=1\&.1\&.1\&.1" } ] } ] } .fi .if n \{\ .RE .\} .SH "NVME" .sp Part of the nvme\-user suite .SH "NOTES" .IP " 1." 4 root@host .RS 4 \%mailto:root@host .RE nvme-cli-1.9/Documentation/nvme-list-subsys.html000066400000000000000000000457611352532746300220670ustar00rootroot00000000000000 nvme-list-subsys(1)

SYNOPSIS

nvme list-subsys [-o <fmt> | --output-format=<fmt>] <device>

DESCRIPTION

Scan the sysfs tree for NVM Express subsystems and return the controllers for those subsystems as well as some pertinent information about them. If a device is given, print out only the values for the controllers and subsystems leading to the device.

OPTIONS

-o <format>
--output-format=<format>

Set the reporting format to normal or json. Only one output format can be used at a time.

EXAMPLES

root@host# nvme list-subsys
nvme-subsys0 - NQN=nvmf-test
\
 +- nvme0 rdma traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.1
 +- nvme1 rdma traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.2
nvme-subsys1 - NQN=nvmf-test2
\
 +- nvme2 rdma traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.2
 +- nvme3 rdma traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.1
root@host# nvme list-subsys -o json
{
  "Subsystems" : [
    {
      "Name" : "nvme-subsys0",
      "NQN" : "nvmf-test"
    },
    {
      "Paths" : [
        {
          "Name" : "nvme0",
          "Transport" : "rdma",
          "Address" : "traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.1"
        },
        {
          "Name" : "nvme1",
          "Transport" : "rdma",
          "Address" : "traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.2"
        }
      ]
    },
    {
      "Name" : "nvme-subsys1",
      "NQN" : "nvmf-test2"
    },
    {
      "Paths" : [
        {
          "Name" : "nvme2",
          "Transport" : "rdma",
          "Address" : "traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.2"
        },
        {
          "Name" : "nvme3",
          "Transport" : "rdma",
          "Address" : "traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.1"
        }
      ]
    }
  ]
}

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-list-subsys.txt000066400000000000000000000036041352532746300217300ustar00rootroot00000000000000nvme-list-subsys(1) =================== NAME ---- nvme-list-subsys - List all NVMe subsystems SYNOPSIS -------- [verse] 'nvme list-subsys' [-o | --output-format=] DESCRIPTION ----------- Scan the sysfs tree for NVM Express subsystems and return the controllers for those subsystems as well as some pertinent information about them. If a device is given, print out only the values for the controllers and subsystems leading to the device. OPTIONS ------- -o :: --output-format=:: Set the reporting format to 'normal' or 'json'. Only one output format can be used at a time. EXAMPLES -------- [verse] root@host# nvme list-subsys nvme-subsys0 - NQN=nvmf-test \ +- nvme0 rdma traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.1 +- nvme1 rdma traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.2 nvme-subsys1 - NQN=nvmf-test2 \ +- nvme2 rdma traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.2 +- nvme3 rdma traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.1 [verse] root@host# nvme list-subsys -o json { "Subsystems" : [ { "Name" : "nvme-subsys0", "NQN" : "nvmf-test" }, { "Paths" : [ { "Name" : "nvme0", "Transport" : "rdma", "Address" : "traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.1" }, { "Name" : "nvme1", "Transport" : "rdma", "Address" : "traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.2" } ] }, { "Name" : "nvme-subsys1", "NQN" : "nvmf-test2" }, { "Paths" : [ { "Name" : "nvme2", "Transport" : "rdma", "Address" : "traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.2" }, { "Name" : "nvme3", "Transport" : "rdma", "Address" : "traddr=1.1.1.3 trsvcid=4420 host_traddr=1.1.1.1" } ] } ] } NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-list.1000066400000000000000000000035671352532746300177330ustar00rootroot00000000000000'\" t .\" Title: nvme-list .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-LIST" "1" "04/08/2019" "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-list \- List all recognized NVMe devices .SH "SYNOPSIS" .sp .nf \fInvme list\fR [\-o | \-\-output\-format=] .fi .SH "DESCRIPTION" .sp Scan the sysfs tree for NVM Express devices and return the /dev node for those devices as well as some pertinent information about them\&. .SH "OPTIONS" .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR or \fIjson\fR\&. Only one output format can be used at a time\&. .RE .SH "ENVIRONMENT" .sp PCI_IDS_PATH \- Full path of pci\&.ids file in case nvme could not find it in common locations\&. .SH "EXAMPLES" .sp No examples yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-list.html000066400000000000000000000431731352532746300205340ustar00rootroot00000000000000 nvme-list(1)

SYNOPSIS

nvme list [-o <fmt> | --output-format=<fmt>]

DESCRIPTION

Scan the sysfs tree for NVM Express devices and return the /dev node for those devices as well as some pertinent information about them.

OPTIONS

-o <format>
--output-format=<format>

Set the reporting format to normal or json. Only one output format can be used at a time.

ENVIRONMENT

PCI_IDS_PATH - Full path of pci.ids file in case nvme could not find it in common locations.

EXAMPLES

No examples yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-list.txt000066400000000000000000000012321352532746300203750ustar00rootroot00000000000000nvme-list(1) ============ NAME ---- nvme-list - List all recognized NVMe devices SYNOPSIS -------- [verse] 'nvme list' [-o | --output-format=] DESCRIPTION ----------- Scan the sysfs tree for NVM Express devices and return the /dev node for those devices as well as some pertinent information about them. OPTIONS ------- -o :: --output-format=:: Set the reporting format to 'normal' or 'json'. Only one output format can be used at a time. ENVIRONMENT ----------- PCI_IDS_PATH - Full path of pci.ids file in case nvme could not find it in common locations. EXAMPLES -------- No examples yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-lnvm-create.1000066400000000000000000000054761352532746300211760ustar00rootroot00000000000000'\" t .\" Title: nvme-lnvm-create .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-LNVM\-CREATE" "1" "01/08/2019" "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-lnvm-create \- Instantiate a target on top of a LightNVM enabled device .SH "SYNOPSIS" .sp .nf \fInvme lnvm\-create\fR [\-\-device\-name= | \-d ] [\-\-target\-name= | \-n ] [\-\-target\-type= | \-t ] [\-\-lun\-begin | \-b ] [\-\-lun\-end | \-e ] .fi .SH "DESCRIPTION" .sp Instantiate a target on top of a LightNVM enabled device\&. This exposes the physical for the user to use\&. .sp The target name is the name of which the media is exposed as in /dev/ .sp The target type is the target to be instantiated\&. Typically pblk or rrpc\&. .sp LUN begin and end defines the range of LUNs to use for a target instantiation\&. .SH "OPTIONS" .PP \-\-device\-name=, \-d .RS 4 Device name to initialize\&. .RE .PP \-\-target\-name=, \-n .RS 4 Target name of the device to initialize\&. For example: target0\&. .RE .PP \-\-target\-type=, \-t .RS 4 Target type of the device to use\&. For example: pblk .RE .PP \-\-lun\-begin , \-b .RS 4 Begin LUN id offset to use for target .RE .PP \-\-lun\-end , \-e .RS 4 End LUN id offset to use for target .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Initialize nvme0n1 with pblk target with 64 LUNs\&. .RE .sp .if n \{\ .RS 4 .\} .nf # nvme lnvm\-create \-d nvme0n1 \-t pblk \-n target0 \-b 0 \-e 63 .fi .if n \{\ .RE .\} .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-lnvm-create.html000066400000000000000000000456111352532746300217750ustar00rootroot00000000000000 nvme-lnvm-create(1)

SYNOPSIS

nvme lnvm-create [--device-name=<DEVICE> | -d <DEVICE>]
                        [--target-name=<TARGET> | -n <TARGET>]
                        [--target-type=<TARGETTYPE> | -t <TARGETTYPE>]
                        [--lun-begin <NUM> | -b <NUM>]
                        [--lun-end <NUM> | -e <NUM>]

DESCRIPTION

Instantiate a target on top of a LightNVM enabled device. This exposes the physical for the user to use.

The target name is the name of which the media is exposed as in /dev/<targetname>

The target type is the target to be instantiated. Typically pblk or rrpc.

LUN begin and end defines the range of LUNs to use for a target instantiation.

OPTIONS

--device-name=<DEVICE>
-d <DEVICE>

Device name to initialize.

--target-name=<TARGET>
-n <TARGET>

Target name of the device to initialize. For example: target0.

--target-type=<TARGETTYPE>
-t <TARGETTYPE>

Target type of the device to use. For example: pblk

--lun-begin <NUM>
-b <NUM>

Begin LUN id offset to use for target

--lun-end <NUM>
-e <NUM>

End LUN id offset to use for target

EXAMPLES

  • Initialize nvme0n1 with pblk target with 64 LUNs.

# nvme lnvm-create -d nvme0n1 -t pblk -n target0 -b 0 -e 63

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-lnvm-create.txt000066400000000000000000000025211352532746300216410ustar00rootroot00000000000000nvme-lnvm-create(1) =================== NAME ---- nvme-lnvm-create - Instantiate a target on top of a LightNVM enabled device SYNOPSIS -------- [verse] 'nvme lnvm-create' [--device-name= | -d ] [--target-name= | -n ] [--target-type= | -t ] [--lun-begin | -b ] [--lun-end | -e ] DESCRIPTION ----------- Instantiate a target on top of a LightNVM enabled device. This exposes the physical for the user to use. The target name is the name of which the media is exposed as in /dev/ The target type is the target to be instantiated. Typically pblk or rrpc. LUN begin and end defines the range of LUNs to use for a target instantiation. OPTIONS ------- --device-name=:: -d :: Device name to initialize. --target-name=:: -n :: Target name of the device to initialize. For example: target0. --target-type=:: -t :: Target type of the device to use. For example: pblk --lun-begin :: -b :: Begin LUN id offset to use for target --lun-end :: -e :: End LUN id offset to use for target EXAMPLES -------- * Initialize nvme0n1 with pblk target with 64 LUNs. ------------ # nvme lnvm-create -d nvme0n1 -t pblk -n target0 -b 0 -e 63 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-lnvm-diag-bbtbl.1000066400000000000000000000054621352532746300217150ustar00rootroot00000000000000'\" t .\" Title: nvme-lnvm-diag-bbtbl .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-LNVM\-DIAG\-BB" "1" "01/08/2019" "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-lnvm-diag-bbtbl \- Diagnose the bad block table .SH "SYNOPSIS" .sp .nf \fInvme lnvm\-diag\-bbtbl\fR [\-\-namespace\-id= | \-n ] [\-\-channel\-id= | \-c ] [\-\-lun\-id= | \-l ] [\-\-raw\-binary | \-b] .fi .SH "DESCRIPTION" .sp Retrieve the bad block table for a given channel and lun\&. .sp The statistics will be shown in the default case, and the actual output bad block information can be retrieved when \-\-raw\-binary is passed\&. .sp The raw binary output follows this format: .sp Channel 0, LUN0 (Dual plane flash) .sp Byte 0 \(-> Plane 0, Block 0 Byte 1 \(-> Plane 1, Block 0 Byte 2 \(-> Plane 0, Block 1 \&... .SH "OPTIONS" .PP \-\-namespace\-id=, \-n .RS 4 Namespace id to use .RE .PP \-\-channel\-id=, \-c .RS 4 Channel id .RE .PP \-\-lun\-id=, \-l .RS 4 LUN id .RE .PP \-\-raw\-binary, \-b .RS 4 Returns the bad block table in binary form without statistics\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Retrieve bad block table statistics for physical device nvme0, channel 0, and lun 0: .RE .sp .if n \{\ .RS 4 .\} .nf # nvme lnvm\-diag\-bbtbl /dev/nvme0 \-c 0 \-n 0 .fi .if n \{\ .RE .\} .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Display the bad block table in raw form without statistics for same query: .RE .sp .if n \{\ .RS 4 .\} .nf # nvme lnvm\-diag\-bbtbl /dev/nvme0 \-c 0 \-n 0 \-b | hexdump .fi .if n \{\ .RE .\} .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-lnvm-diag-bbtbl.html000066400000000000000000000455021352532746300225200ustar00rootroot00000000000000 nvme-lnvm-diag-bbtbl(1)

SYNOPSIS

nvme lnvm-diag-bbtbl [--namespace-id=<NUM> | -n <NUM>]
                        [--channel-id=<CHID> | -c <CHID>]
                        [--lun-id=<LUNID> | -l <LUNID>]
                        [--raw-binary | -b]

DESCRIPTION

Retrieve the bad block table for a given channel and lun.

The statistics will be shown in the default case, and the actual output bad block information can be retrieved when --raw-binary is passed.

The raw binary output follows this format:

Channel 0, LUN0 (Dual plane flash)

Byte 0 → Plane 0, Block 0 Byte 1 → Plane 1, Block 0 Byte 2 → Plane 0, Block 1 …

OPTIONS

--namespace-id=<NUM>
-n <NUM>

Namespace id to use

--channel-id=<NUM>
-c

Channel id

--lun-id=<NUM>
-l

LUN id

--raw-binary
-b

Returns the bad block table in binary form without statistics.

EXAMPLES

  • Retrieve bad block table statistics for physical device nvme0, channel 0, and lun 0:

# nvme lnvm-diag-bbtbl /dev/nvme0 -c 0 -n 0
  • Display the bad block table in raw form without statistics for same query:

# nvme lnvm-diag-bbtbl /dev/nvme0 -c 0 -n 0 -b | hexdump

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-lnvm-diag-bbtbl.txt000066400000000000000000000024031352532746300223640ustar00rootroot00000000000000nvme-lnvm-diag-bbtbl(1) ======================= NAME ---- nvme-lnvm-diag-bbtbl - Diagnose the bad block table SYNOPSIS -------- [verse] 'nvme lnvm-diag-bbtbl' [--namespace-id= | -n ] [--channel-id= | -c ] [--lun-id= | -l ] [--raw-binary | -b] DESCRIPTION ----------- Retrieve the bad block table for a given channel and lun. The statistics will be shown in the default case, and the actual output bad block information can be retrieved when --raw-binary is passed. The raw binary output follows this format: Channel 0, LUN0 (Dual plane flash) Byte 0 -> Plane 0, Block 0 Byte 1 -> Plane 1, Block 0 Byte 2 -> Plane 0, Block 1 ... OPTIONS ------- --namespace-id=:: -n :: Namespace id to use --channel-id=:: -c:: Channel id --lun-id=:: -l:: LUN id --raw-binary:: -b:: Returns the bad block table in binary form without statistics. EXAMPLES -------- * Retrieve bad block table statistics for physical device nvme0, channel 0, and lun 0: ------------ # nvme lnvm-diag-bbtbl /dev/nvme0 -c 0 -n 0 ------------ * Display the bad block table in raw form without statistics for same query: ------------ # nvme lnvm-diag-bbtbl /dev/nvme0 -c 0 -n 0 -b | hexdump ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-lnvm-diag-set-bbtbl.1000066400000000000000000000051501352532746300225000ustar00rootroot00000000000000'\" t .\" Title: nvme-lnvm-diag-set-bbtbl .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-LNVM\-DIAG\-SE" "1" "01/08/2019" "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-lnvm-diag-set-bbtbl \- Set a block state in the bad block table .SH "SYNOPSIS" .sp .nf \fInvme lnvm\-diag\-set\-bbtbl\fR [\-\-namespace\-id= | \-n ] [\-\-channel\-id= | \-c ] [\-\-lun\-id= | \-l ] [\-\-plane\-id= | \-p ] [\-\-block\-id= | \-b ] [\-\-value= | \-v ] .fi .SH "DESCRIPTION" .sp Set the bad block table for a given channel, lun, plane and block with value v\&. .sp For each block available, the status byte is read as follows: .sp 0: Good block 1: Bad block 2: Grown bad block 4: Device reserved block 8: Host\-side reserved block 16: Media managed reserved block .SH "OPTIONS" .PP \-\-namespace\-id=, \-n .RS 4 Namespace id to use .RE .PP \-\-channel\-id, \-c .RS 4 Channel id .RE .PP \-\-lun\-id, \-l .RS 4 LUN id .RE .PP \-\-plane\-id, \-p .RS 4 Plane id .RE .PP \-\-block\-id, \-b .RS 4 Block id .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Set channel 0, lun 0, plane 0, block 10 to bad block value 2 (grown bad) on physical device /dev/nvme0 .RE .sp .if n \{\ .RS 4 .\} .nf # nvme lnvm\-diag\-set\-bbtbl /dev/nvme0 \-c 0 \-l 0 \-p 0 \-b 10 \-v 2 .fi .if n \{\ .RE .\} .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-lnvm-diag-set-bbtbl.html000066400000000000000000000451771352532746300233210ustar00rootroot00000000000000 nvme-lnvm-diag-set-bbtbl(1)

SYNOPSIS

nvme lnvm-diag-set-bbtbl [--namespace-id=<NUM> | -n <NUM>]
                        [--channel-id=<CHID> | -c <CHID>]
                        [--lun-id=<LUNID> | -l <LUNID>]
                        [--plane-id=<PLANEID> | -p <PLANEID>]
                        [--block-id=<BLKID> | -b <BLKID>]
                        [--value=<NUM> | -v <NUM>]

DESCRIPTION

Set the bad block table for a given channel, lun, plane and block with value v.

For each block available, the status byte is read as follows:

0: Good block 1: Bad block 2: Grown bad block 4: Device reserved block 8: Host-side reserved block 16: Media managed reserved block

OPTIONS

--namespace-id=<NUM>
-n <NUM>

Namespace id to use

--channel-id
-c

Channel id

--lun-id
-l

LUN id

--plane-id
-p

Plane id

--block-id
-b

Block id

EXAMPLES

  • Set channel 0, lun 0, plane 0, block 10 to bad block value 2 (grown bad) on physical device /dev/nvme0

# nvme lnvm-diag-set-bbtbl /dev/nvme0 -c 0 -l 0 -p 0 -b 10 -v 2

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-lnvm-diag-set-bbtbl.txt000066400000000000000000000021731352532746300231610ustar00rootroot00000000000000nvme-lnvm-diag-set-bbtbl(1) =========================== NAME ---- nvme-lnvm-diag-set-bbtbl - Set a block state in the bad block table SYNOPSIS -------- [verse] 'nvme lnvm-diag-set-bbtbl' [--namespace-id= | -n ] [--channel-id= | -c ] [--lun-id= | -l ] [--plane-id= | -p ] [--block-id= | -b ] [--value= | -v ] DESCRIPTION ----------- Set the bad block table for a given channel, lun, plane and block with value v. For each block available, the status byte is read as follows: 0: Good block 1: Bad block 2: Grown bad block 4: Device reserved block 8: Host-side reserved block 16: Media managed reserved block OPTIONS ------- --namespace-id=:: -n :: Namespace id to use --channel-id:: -c:: Channel id --lun-id:: -l:: LUN id --plane-id:: -p:: Plane id --block-id:: -b:: Block id EXAMPLES -------- * Set channel 0, lun 0, plane 0, block 10 to bad block value 2 (grown bad) on physical device /dev/nvme0 ------------ # nvme lnvm-diag-set-bbtbl /dev/nvme0 -c 0 -l 0 -p 0 -b 10 -v 2 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-lnvm-factory.1000066400000000000000000000050701352532746300213700ustar00rootroot00000000000000'\" t .\" Title: nvme-lnvm-factory .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-LNVM\-FACTORY" "1" "01/08/2019" "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-lnvm-factory \- Factory reset a LightNVM device .SH "SYNOPSIS" .sp .nf \fInvme lnvm\-factory\fR [\-\-device\-name= | \-d ] [\-\-erase\-only\-marked | \-e] [\-\-clear\-host\-side\-blks | \-s] [\-\-clear\-bb\-blks | \-b] .fi .SH "DESCRIPTION" .sp Instantiate a target on top of a LightNVM enabled device\&. This exposes the physical for the user to use\&. .SH "OPTIONS" .PP \-\-device\-name=, \-d .RS 4 Device name to factory initialize .RE .PP \-\-erase\-only\-marked, \-e .RS 4 Erases only blocks that are marked in the bad block list .RE .PP \-\-clear\-host\-side\-blks, \-s .RS 4 Remove host\-side bad block marks\&. This clear the media manager registration .RE .PP \-\-clear\-bb\-blks, \-b .RS 4 Removes the grown bad block marks\&. Allowing them to be rediscovered\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Factory reset of device nvme0n1 .RE .sp .if n \{\ .RS 4 .\} .nf # nvme lnvm\-factory \-d nvme0n1 .fi .if n \{\ .RE .\} .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Complete factory reset of device nvme0n1 .RE .sp .if n \{\ .RS 4 .\} .nf # nvme lnvm\-factory \-d nvme0n1 \-s \-b .fi .if n \{\ .RE .\} .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-lnvm-factory.html000066400000000000000000000446221352532746300222020ustar00rootroot00000000000000 nvme-lnvm-factory(1)

SYNOPSIS

nvme lnvm-factory [--device-name=<DEVICE> | -d <DEVICE>]
                        [--erase-only-marked | -e]
                        [--clear-host-side-blks | -s]
                        [--clear-bb-blks | -b]

DESCRIPTION

Instantiate a target on top of a LightNVM enabled device. This exposes the physical for the user to use.

OPTIONS

--device-name=<DEVICE>
-d <DEVICE>

Device name to factory initialize

--erase-only-marked
-e

Erases only blocks that are marked in the bad block list

--clear-host-side-blks
-s

Remove host-side bad block marks. This clear the media manager registration

--clear-bb-blks
-b

Removes the grown bad block marks. Allowing them to be rediscovered.

EXAMPLES

  • Factory reset of device nvme0n1

# nvme lnvm-factory -d nvme0n1
  • Complete factory reset of device nvme0n1

# nvme lnvm-factory -d nvme0n1 -s -b

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-lnvm-factory.txt000066400000000000000000000020261352532746300220450ustar00rootroot00000000000000nvme-lnvm-factory(1) ==================== NAME ---- nvme-lnvm-factory - Factory reset a LightNVM device SYNOPSIS -------- [verse] 'nvme lnvm-factory' [--device-name= | -d ] [--erase-only-marked | -e] [--clear-host-side-blks | -s] [--clear-bb-blks | -b] DESCRIPTION ----------- Instantiate a target on top of a LightNVM enabled device. This exposes the physical for the user to use. OPTIONS ------- --device-name=:: -d :: Device name to factory initialize --erase-only-marked:: -e:: Erases only blocks that are marked in the bad block list --clear-host-side-blks:: -s:: Remove host-side bad block marks. This clear the media manager registration --clear-bb-blks:: -b:: Removes the grown bad block marks. Allowing them to be rediscovered. EXAMPLES -------- * Factory reset of device nvme0n1 ------------ # nvme lnvm-factory -d nvme0n1 ------------ * Complete factory reset of device nvme0n1 ------------ # nvme lnvm-factory -d nvme0n1 -s -b ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-lnvm-id-ns.1000066400000000000000000000044461352532746300207410ustar00rootroot00000000000000'\" t .\" Title: nvme-lnvm-id-ns .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-LNVM\-ID\-NS" "1" "01/08/2019" "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-lnvm-id-ns \- Identify Geometry for LightNVM NVMe device .SH "SYNOPSIS" .sp .nf \fInvme lnvm\-id\-ns\fR [\-\-namespace\-id= | \-n ] [\-\-force | \-f] [\-\-raw\-binary | \-b] [\-\-human\-readable | \-H] .fi .SH "DESCRIPTION" .sp Send an Identify Geometry command to the given LightNVM device, returns properties of the specified namespace in either human\-readable or binary format\&. .SH "OPTIONS" .PP \-\-namespace\-id=, \-n .RS 4 Retrieve the geometry from the selected namespace\&. .RE .PP \-\-force, \-f .RS 4 Try to read the data and assume it is a LightNVM device .RE .PP \-\-raw\-binary, \-b .RS 4 Output the raw output .RE .PP \-\-human\-readable, \-H .RS 4 Output the status in human readable format .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Retrieve the geometry from nvme0 .RE .sp .if n \{\ .RS 4 .\} .nf # nvme lnvm\-id\-ns /dev/nvme0 \-n 1 .fi .if n \{\ .RE .\} .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-lnvm-id-ns.html000066400000000000000000000441711352532746300215440ustar00rootroot00000000000000 nvme-lnvm-id-ns(1)

SYNOPSIS

nvme lnvm-id-ns <device> [--namespace-id=<nsid> | -n <nsid>]
                        [--force | -f]
                        [--raw-binary | -b]
                        [--human-readable | -H]

DESCRIPTION

Send an Identify Geometry command to the given LightNVM device, returns properties of the specified namespace in either human-readable or binary format.

OPTIONS

--namespace-id=<nsid>
-n <nsid>

Retrieve the geometry from the selected namespace.

--force
-f

Try to read the data and assume it is a LightNVM device

--raw-binary
-b

Output the raw output

--human-readable
-H

Output the status in human readable format

EXAMPLES

  • Retrieve the geometry from nvme0

# nvme lnvm-id-ns /dev/nvme0 -n 1

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-lnvm-id-ns.txt000066400000000000000000000015721352532746300214150ustar00rootroot00000000000000nvme-lnvm-id-ns(1) ================== NAME ---- nvme-lnvm-id-ns - Identify Geometry for LightNVM NVMe device SYNOPSIS -------- [verse] 'nvme lnvm-id-ns' [--namespace-id= | -n ] [--force | -f] [--raw-binary | -b] [--human-readable | -H] DESCRIPTION ----------- Send an Identify Geometry command to the given LightNVM device, returns properties of the specified namespace in either human-readable or binary format. OPTIONS ------- --namespace-id=:: -n :: Retrieve the geometry from the selected namespace. --force:: -f:: Try to read the data and assume it is a LightNVM device --raw-binary:: -b:: Output the raw output --human-readable:: -H:: Output the status in human readable format EXAMPLES -------- * Retrieve the geometry from nvme0 ------------ # nvme lnvm-id-ns /dev/nvme0 -n 1 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-lnvm-info.1000066400000000000000000000030771352532746300206610ustar00rootroot00000000000000'\" t .\" Title: nvme-lnvm-info .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-LNVM\-INFO" "1" "01/08/2019" "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-lnvm-info \- Show general information and registered target types with LightNVM .SH "SYNOPSIS" .sp .nf \fInvme lnvm\-info\fR .fi .SH "DESCRIPTION" .sp Show general information and registered target types with LightNVM\&. .SH "OPTIONS" .sp No options yet\&. .SH "EXAMPLES" .sp No examples yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-lnvm-info.html000066400000000000000000000421371352532746300214650ustar00rootroot00000000000000 nvme-lnvm-info(1)

SYNOPSIS

nvme lnvm-info

DESCRIPTION

Show general information and registered target types with LightNVM.

OPTIONS

No options yet.

EXAMPLES

No examples yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-lnvm-info.txt000066400000000000000000000005701352532746300213330ustar00rootroot00000000000000nvme-lnvm-info(1) ================= NAME ---- nvme-lnvm-info - Show general information and registered target types with LightNVM SYNOPSIS -------- [verse] 'nvme lnvm-info' DESCRIPTION ----------- Show general information and registered target types with LightNVM. OPTIONS ------- No options yet. EXAMPLES -------- No examples yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-lnvm-init.1000066400000000000000000000045201352532746300206630ustar00rootroot00000000000000'\" t .\" Title: nvme-lnvm-init .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-LNVM\-INIT" "1" "01/08/2019" "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-lnvm-init \- Initialize LightNVM device with media manager .SH "SYNOPSIS" .sp .nf \fInvme lnvm\-init\fR [\-\-device\-name= | \-d ] [\-\-mediamgr\-name | \-m] .fi .SH "DESCRIPTION" .sp Initialize LightNVM device\&. A LightNVM/Open\-Channel SSD must have a media manager associated before it can be exposed to the user\&. The default is to initialize the general media manager on top of the device\&. .SH "OPTIONS" .PP \-\-device\-name=, \-d .RS 4 Device name to initialize\&. .RE .PP \-\-mediamgr\-name=, \-m .RS 4 Media Manager name to use for initialization\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Initialize nvme0n1 .RE .sp .if n \{\ .RS 4 .\} .nf # nvme lnvm\-init \-d nvme0n1 .fi .if n \{\ .RE .\} .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Initialize nvme0n1 with gennvm media manager (default media manager) .RE .sp .if n \{\ .RS 4 .\} .nf # nvme lnvm\-init \-d nvme0n1 \-m gennvm .fi .if n \{\ .RE .\} .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-lnvm-init.html000066400000000000000000000440521352532746300214730ustar00rootroot00000000000000 nvme-lnvm-init(1)

SYNOPSIS

nvme lnvm-init [--device-name=<DEVICE> | -d <DEVICE>]
                        [--mediamgr-name | -m]

DESCRIPTION

Initialize LightNVM device. A LightNVM/Open-Channel SSD must have a media manager associated before it can be exposed to the user. The default is to initialize the general media manager on top of the device.

OPTIONS

--device-name=<DEVICE>
-d <DEVICE>

Device name to initialize.

--mediamgr-name=<MediaMgr>
-m <MediaMgr>

Media Manager name to use for initialization.

EXAMPLES

  • Initialize nvme0n1

# nvme lnvm-init -d nvme0n1
  • Initialize nvme0n1 with gennvm media manager (default media manager)

# nvme lnvm-init -d nvme0n1 -m gennvm

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-lnvm-init.txt000066400000000000000000000016031352532746300213410ustar00rootroot00000000000000nvme-lnvm-init(1) ================= NAME ---- nvme-lnvm-init - Initialize LightNVM device with media manager SYNOPSIS -------- [verse] 'nvme lnvm-init' [--device-name= | -d ] [--mediamgr-name | -m] DESCRIPTION ----------- Initialize LightNVM device. A LightNVM/Open-Channel SSD must have a media manager associated before it can be exposed to the user. The default is to initialize the general media manager on top of the device. OPTIONS ------- --device-name=:: -d :: Device name to initialize. --mediamgr-name=:: -m :: Media Manager name to use for initialization. EXAMPLES -------- * Initialize nvme0n1 ------------ # nvme lnvm-init -d nvme0n1 ------------ * Initialize nvme0n1 with gennvm media manager (default media manager) ------------ # nvme lnvm-init -d nvme0n1 -m gennvm ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-lnvm-list.1000066400000000000000000000030101352532746300206640ustar00rootroot00000000000000'\" t .\" Title: nvme-lnvm-list .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-LNVM\-LIST" "1" "01/08/2019" "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-lnvm-list \- List all recognized LightNVM NVMe devices .SH "SYNOPSIS" .sp .nf \fInvme lnvm\-list\fR .fi .SH "DESCRIPTION" .sp List all registered LightNVM devices\&. .SH "OPTIONS" .sp No options yet\&. .SH "EXAMPLES" .sp No examples yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-lnvm-list.html000066400000000000000000000420501352532746300214770ustar00rootroot00000000000000 nvme-lnvm-list(1)

SYNOPSIS

nvme lnvm-list

DESCRIPTION

List all registered LightNVM devices.

OPTIONS

No options yet.

EXAMPLES

No examples yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-lnvm-list.txt000066400000000000000000000005021352532746300213460ustar00rootroot00000000000000nvme-lnvm-list(1) ================= NAME ---- nvme-lnvm-list - List all recognized LightNVM NVMe devices SYNOPSIS -------- [verse] 'nvme lnvm-list' DESCRIPTION ----------- List all registered LightNVM devices. OPTIONS ------- No options yet. EXAMPLES -------- No examples yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-lnvm-remove.1000066400000000000000000000033351352532746300212200ustar00rootroot00000000000000'\" t .\" Title: nvme-lnvm-remove .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-LNVM\-REMOVE" "1" "01/08/2019" "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-lnvm-remove \- Remove an initialized LightNVM target\&. .SH "SYNOPSIS" .sp .nf \fInvme lnvm\-remove\fR [\-\-target\-name= | \-n ] .fi .SH "DESCRIPTION" .sp Remove an initialized target\&. .sp The target name is the name of which the media is exposed as in /dev/ .SH "OPTIONS" .PP \-\-target\-name=, \-n .RS 4 Target name of the device to initialize\&. For example: target0\&. .RE .SH "EXAMPLES" .sp None yet .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-lnvm-remove.html000066400000000000000000000426061352532746300220300ustar00rootroot00000000000000 nvme-lnvm-remove(1)

SYNOPSIS

nvme lnvm-remove [--target-name=<TARGET> | -n <TARGET>]

DESCRIPTION

Remove an initialized target.

The target name is the name of which the media is exposed as in /dev/<TARGET>

OPTIONS

--target-name=<TARGET>
-n <TARGET>

Target name of the device to initialize. For example: target0.

EXAMPLES

None yet

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-lnvm-remove.txt000066400000000000000000000010031352532746300216650ustar00rootroot00000000000000nvme-lnvm-remove(1) =================== NAME ---- nvme-lnvm-remove - Remove an initialized LightNVM target. SYNOPSIS -------- [verse] 'nvme lnvm-remove' [--target-name= | -n ] DESCRIPTION ----------- Remove an initialized target. The target name is the name of which the media is exposed as in /dev/ OPTIONS ------- --target-name=:: -n :: Target name of the device to initialize. For example: target0. EXAMPLES -------- None yet NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-netapp-ontapdevices.1000066400000000000000000000040321352532746300227150ustar00rootroot00000000000000'\" t .\" Title: nvme-netapp-ontapdevices .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/15/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-NETAPP\-ONTAPD" "1" "04/15/2019" "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-netapp-ontapdevices \- Display information about ONTAP devices .SH "SYNOPSIS" .sp .nf \fInvme netapp ontapdevices\fR [\-o | \-\-output\-format=] .fi .SH "DESCRIPTION" .sp Display information about ONTAP devices on the host\&. The ONTAP devices are identified using the Identify Controller data\&. .SH "OPTIONS" .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR (default), \fIcolumn\fR, or \fIjson\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 .\} Display information, in a column\-based format, for ONTAP devices\&. .sp .if n \{\ .RS 4 .\} .nf # nvme netapp ontapdevices \-o column .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-netapp-ontapdevices.html000066400000000000000000000432611352532746300235300ustar00rootroot00000000000000 nvme-netapp-ontapdevices(1)

SYNOPSIS

nvme netapp ontapdevices [-o <fmt> | --output-format=<fmt>]

DESCRIPTION

Display information about ONTAP devices on the host. The ONTAP devices are identified using the Identify Controller data.

OPTIONS

-o <fmt>
--output-format=<fmt>

Set the reporting format to normal (default), column, or json. Only one output format can be used at a time.

EXAMPLES

  • Display information, in a column-based format, for ONTAP devices.

    # nvme netapp ontapdevices -o column

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-netapp-ontapdevices.txt000066400000000000000000000013641352532746300234010ustar00rootroot00000000000000nvme-netapp-ontapdevices(1) =========================== NAME ---- nvme-netapp-ontapdevices - Display information about ONTAP devices SYNOPSIS -------- [verse] 'nvme netapp ontapdevices' [-o | --output-format=] DESCRIPTION ----------- Display information about ONTAP devices on the host. The ONTAP devices are identified using the Identify Controller data. OPTIONS ------- -o :: --output-format=:: Set the reporting format to 'normal' (default), 'column', or 'json'. Only one output format can be used at a time. EXAMPLES -------- * Display information, in a column-based format, for ONTAP devices. + ------------ # nvme netapp ontapdevices -o column ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-netapp-smdevices.1000066400000000000000000000042251352532746300222170ustar00rootroot00000000000000'\" t .\" Title: nvme-netapp-smdevices .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-NETAPP\-SMDEVI" "1" "04/08/2019" "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-netapp-smdevices \- Display information for each NVMe path to an E\-Series volume .SH "SYNOPSIS" .sp .nf \fInvme netapp smdevices\fR [\-o | \-\-output\-format=] .fi .SH "DESCRIPTION" .sp Display vendor\-specific information for each NVMe path to an E\-Series namespace currently connected to the host\&. The E\-Series paths are identified from the NVMe nodes in /dev by sending an Identify Controller\&. .SH "OPTIONS" .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR (default), \fIcolumn\fR, or \fIjson\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 .\} Display information, in a column\-based format, for each path to an E\-Series namespace\&. .sp .if n \{\ .RS 4 .\} .nf # nvme netapp smdevices \-o column .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-netapp-smdevices.html000066400000000000000000000436211352532746300230260ustar00rootroot00000000000000 nvme-netapp-smdevices(1)

SYNOPSIS

nvme netapp smdevices [-o <fmt> | --output-format=<fmt>]

DESCRIPTION

Display vendor-specific information for each NVMe path to an E-Series namespace currently connected to the host. The E-Series paths are identified from the NVMe nodes in /dev by sending an Identify Controller.

OPTIONS

-o <fmt>
--output-format=<fmt>

Set the reporting format to normal (default), column, or json. Only one output format can be used at a time.

EXAMPLES

  • Display information, in a column-based format, for each path to an E-Series namespace.

    # nvme netapp smdevices -o column

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-netapp-smdevices.txt000066400000000000000000000015501352532746300226740ustar00rootroot00000000000000nvme-netapp-smdevices(1) ======================== NAME ---- nvme-netapp-smdevices - Display information for each NVMe path to an E-Series volume SYNOPSIS -------- [verse] 'nvme netapp smdevices' [-o | --output-format=] DESCRIPTION ----------- Display vendor-specific information for each NVMe path to an E-Series namespace currently connected to the host. The E-Series paths are identified from the NVMe nodes in /dev by sending an Identify Controller. OPTIONS ------- -o :: --output-format=:: Set the reporting format to 'normal' (default), 'column', or 'json'. Only one output format can be used at a time. EXAMPLES -------- * Display information, in a column-based format, for each path to an E-Series namespace. + ------------ # nvme netapp smdevices -o column ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-ns-descs.1000066400000000000000000000070521352532746300204700ustar00rootroot00000000000000'\" t .\" Title: nvme-ns-descs .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-NS\-DESCS" "1" "01/08/2019" "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-ns-descs \- Send NVMe Identify for a list of Namespace Identification Descriptor structure, return result and structure .SH "SYNOPSIS" .sp .nf \fInvme ns\-descs\fR [\-\-namespace\-id= | \-n ] [\-\-raw\-binary | \-b] [\-\-output\-format= | \-o ] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends an identify for a list of namespace identification descriptor structures command and provides the result and returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. If the character device is given, the \*(Aq\-\-namespace\-id\*(Aq option is mandatory, otherwise it will use the ns\-id of the namespace for the block device you opened\&. For block devices, the ns\-id used can be overridden with the same option\&. .sp On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Retrieve the identify namespace identification descriptor structure for the given nsid\&. This is required for the character devices, or overrides the block nsid if given\&. .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw buffer to stdout\&. Structure is not parsed by program\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} If using the character device or overriding namespace #2: .sp .if n \{\ .RS 4 .\} .nf # nvme ns\-descs /dev/nvme0 \-n 1 # nvme ns\-descs /dev/nvme0n1 \-n 2 # nvme ns\-descs /dev/nvme0 \-\-namespace\-id=1 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Have the program return the raw structure in binary: .sp .if n \{\ .RS 4 .\} .nf # nvme ns\-descs /dev/nvme0n1 \-\-raw\-binary > ns_descs\&.raw # nvme ns\-descs /dev/nvme0n1 \-b > ns_descs\&.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 nvme-cli-1.9/Documentation/nvme-ns-descs.html000066400000000000000000000470231352532746300212760ustar00rootroot00000000000000 nvme-ns-descs(1)

SYNOPSIS

nvme ns-descs <device> [--namespace-id=<nsid> | -n <nsid>]
                        [--raw-binary | -b]
                        [--output-format=<fmt> | -o <fmt>]

DESCRIPTION

For the NVMe device given, sends an identify for a list of namespace identification descriptor structures command and provides the result and 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). If the character device is given, the '--namespace-id' option is mandatory, otherwise it will use the ns-id of the namespace for the block device you opened. For block devices, the ns-id used can be overridden with the same option.

On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Retrieve the identify namespace identification descriptor structure for the given nsid. This is required for the character devices, or overrides the block nsid if given.

-b
--raw-binary

Print the raw buffer to stdout. Structure is not parsed by program.

-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

  • If using the character device or overriding namespace #2:

    # nvme ns-descs /dev/nvme0 -n 1
    # nvme ns-descs /dev/nvme0n1 -n 2
    # nvme ns-descs /dev/nvme0 --namespace-id=1
  • Have the program return the raw structure in binary:

    # nvme ns-descs /dev/nvme0n1 --raw-binary > ns_descs.raw
    # nvme ns-descs /dev/nvme0n1 -b > ns_descs.raw

    It is probably a bad idea to not redirect stdout when using this mode.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-ns-descs.txt000066400000000000000000000040121352532746300211400ustar00rootroot00000000000000nvme-ns-descs(1) ================ NAME ---- nvme-ns-descs - Send NVMe Identify for a list of Namespace Identification Descriptor structure, return result and structure SYNOPSIS -------- [verse] 'nvme ns-descs' [--namespace-id= | -n ] [--raw-binary | -b] [--output-format= | -o ] DESCRIPTION ----------- For the NVMe device given, sends an identify for a list of namespace identification descriptor structures command and provides the result and returned structure. The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). If the character device is given, the `'--namespace-id'` option is mandatory, otherwise it will use the ns-id of the namespace for the block device you opened. For block devices, the ns-id used can be overridden with the same option. On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout. OPTIONS ------- -n :: --namespace-id=:: Retrieve the identify namespace identification descriptor structure for the given nsid. This is required for the character devices, or overrides the block nsid if given. -b:: --raw-binary:: Print the raw buffer to stdout. Structure is not parsed by program. -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- * If using the character device or overriding namespace #2: + ------------ # nvme ns-descs /dev/nvme0 -n 1 # nvme ns-descs /dev/nvme0n1 -n 2 # nvme ns-descs /dev/nvme0 --namespace-id=1 ------------ + * Have the program return the raw structure in binary: + ------------ # nvme ns-descs /dev/nvme0n1 --raw-binary > ns_descs.raw # nvme ns-descs /dev/nvme0n1 -b > ns_descs.raw ------------ + It is probably a bad idea to not redirect stdout when using this mode. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-ns-rescan.1000066400000000000000000000034051352532746300206400ustar00rootroot00000000000000'\" t .\" Title: nvme-ns-rescan .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-NS\-RESCAN" "1" "01/08/2019" "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-ns-rescan \- Rescans the nvme namespaces\&. .SH "SYNOPSIS" .sp .nf \fInvme ns\-rescan\fR .fi .SH "DESCRIPTION" .sp Requests NVMe controller rescans the namespaces\&. The param is mandatory and must be an NVMe character device (ex: /dev/nvme0)\&. .SH "OPTIONS" .sp None .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Rescans the nvme namespaces\&. .sp .if n \{\ .RS 4 .\} .nf # nvme ns\-rescan /dev/nvme0 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-ns-rescan.html000066400000000000000000000173401352532746300214470ustar00rootroot00000000000000 nvme-ns-rescan(1)

SYNOPSIS

nvme ns-rescan <device>

DESCRIPTION

Requests NVMe controller rescans the namespaces. The <device> param is mandatory and must be an NVMe character device (ex: /dev/nvme0).

OPTIONS

None

EXAMPLES

  • Rescans the nvme namespaces.

    # nvme ns-rescan /dev/nvme0

NVME

Part of the nvme-user suite

nvme-cli-1.9/Documentation/nvme-ns-rescan.txt000066400000000000000000000007321352532746300213170ustar00rootroot00000000000000nvme-ns-rescan(1) ================= NAME ---- nvme-ns-rescan - Rescans the nvme namespaces. SYNOPSIS -------- [verse] 'nvme ns-rescan' DESCRIPTION ----------- Requests NVMe controller rescans the namespaces. The param is mandatory and must be an NVMe character device (ex: /dev/nvme0). OPTIONS ------- None EXAMPLES -------- * Rescans the nvme namespaces. + ------------ # nvme ns-rescan /dev/nvme0 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-read.1000066400000000000000000000130201352532746300176540ustar00rootroot00000000000000'\" t .\" Title: nvme-read .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-READ" "1" "04/08/2019" "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-read \- Send an NVMe Read command, provide results .SH "SYNOPSIS" .sp .nf \fInvme\-read\fR [\-\-start\-block= | \-s ] [\-\-block\-count= | \-c ] [\-\-data\-size= | \-z ] [\-\-metadata\-size= | \-y ] [\-\-ref\-tag= | \-r ] [\-\-data= | \-d ] [\-\-metadata= | \-M ] [\-\-prinfo= | \-p ] [\-\-app\-tag\-mask= | \-m ] [\-\-app\-tag= | \-a ] [\-\-limited\-retry | \-l] [\-\-force\-unit\-access | \-f] [\-\-dir\-type= | \-T ] [\-\-dir\-spec= | \-S ] [\-\-dsm= | \-D ] [\-\-show\-command | \-v] [\-\-dry\-run | \-w] [\-\-latency | \-t] .fi .SH "DESCRIPTION" .sp The Read command reads the logical blocks specified by the command from the medium and copies to the data data buffer provided\&. Will use stdout by default if you don\(cqt provide a file\&. .SH "OPTIONS" .PP \-\-start\-block=, \-s .RS 4 Start block\&. .RE .PP \-\-block\-count, \-c .RS 4 The number of blocks to transfer\&. This is a zeroes based value to align with the kernel\(cqs use of this field\&. (ie\&. 0 means transfer 1 block)\&. .RE .PP \-\-data\-size=, \-z .RS 4 Size of data, in bytes\&. .RE .PP \-\-metadata\-size=, \-y .RS 4 Size of metadata in bytes\&. .RE .PP \-\-data=, \-d .RS 4 Data file\&. If none provided, contents are sent to STDOUT\&. .RE .PP \-\-metadata=, \-M .RS 4 Metadata file, if necessary\&. .RE .PP \-\-prinfo=, \-p .RS 4 Protection Information field definition\&. .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt lt lt. T{ Bit T}:T{ Description T} T{ 3 T}:T{ PRACT: Protection Information Action\&. When set to 1, PI is stripped/inserted on read/write when the block format\(cqs metadata size is 8\&. When set to 0, metadata is passes\&. T} T{ 2:0 T}:T{ PRCHK: Protection Information Check: T} T{ 2 T}:T{ Set to 1 enables checking the guard tag T} T{ 1 T}:T{ Set to 1 enables checking the application tag T} T{ 0 T}:T{ Set to 1 enables checking the reference tag T} .TE .sp 1 .RE .PP \-\-ref\-tag=, \-r .RS 4 Optional reftag when used with protection information\&. .RE .PP \-\-app\-tag\-mask=, \-m .RS 4 Optional application tag mask when used with protection information\&. .RE .PP \-\-force\-unit\-access, \-f .RS 4 Set the force\-unit access flag\&. .RE .PP \-T , \-\-dir\-type= .RS 4 Optional directive type\&. The nvme\-cli only enforces the value be in the defined range for the directive type, though the NVMe specifcation (1\&.3a) defines only one directive, 01h, for write stream idenfiers\&. .RE .PP \-S , \-\-dir\-spec= .RS 4 Optional field for directive specifics\&. When used with write streams, this value is defined to be the write stream identifier\&. The nvme\-cli will not validate the stream requested is within the controller\(cqs capabilities\&. .RE .PP \-D , \-\-dsm= .RS 4 The optional data set management attributes for this command\&. The argument for this is the lower 16 bits of the DSM field in a write command; the upper 16 bits of the field come from the directive specific field, if used\&. This may be used to set attributes for the LBAs being written, like access frequency, type, latency, among other things, as well as yet to be defined types\&. Please consult the NVMe specification for detailed breakdown of how to use this field\&. .RE .PP \-v, \-\-show\-cmd .RS 4 Print out the command to be sent\&. .RE .PP \-w, \-\-dry\-run .RS 4 Do not actually send the command\&. If want to use \-\-dry\-run option, \-\-show\-cmd option \fImust\fR be set\&. Otherwise \-\-dry\-run option will be \fIignored\fR\&. .RE .PP \-t, \-\-latency .RS 4 Print out the latency the IOCTL took (in us)\&. .RE .SH "EXAMPLES" .sp No examples yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-read.html000066400000000000000000000565231352532746300204770ustar00rootroot00000000000000 nvme-read(1)

SYNOPSIS

nvme-read <device> [--start-block=<slba> | -s <slba>]
                        [--block-count=<nlb> | -c <nlb>]
                        [--data-size=<size> | -z <size>]
                        [--metadata-size=<size> | -y <size>]
                        [--ref-tag=<reftag> | -r <reftag>]
                        [--data=<data-file> | -d <data-file>]
                        [--metadata=<metadata-file> | -M <metadata-file>]
                        [--prinfo=<prinfo> | -p <prinfo>]
                        [--app-tag-mask=<appmask> | -m <appmask>]
                        [--app-tag=<apptag> | -a <apptag>]
                        [--limited-retry | -l]
                        [--force-unit-access | -f]
                        [--dir-type=<type> | -T <type>]
                        [--dir-spec=<spec> | -S <spec>]
                        [--dsm=<dsm> | -D <dsm>]
                        [--show-command | -v]
                        [--dry-run | -w]
                        [--latency | -t]

DESCRIPTION

The Read command reads the logical blocks specified by the command from the medium and copies to the data data buffer provided. Will use stdout by default if you don’t provide a file.

OPTIONS

--start-block=<slba>
-s <slba>

Start block.

--block-count
-c

The number of blocks to transfer. This is a zeroes based value to align with the kernel’s use of this field. (ie. 0 means transfer 1 block).

--data-size=<size>
-z <size>

Size of data, in bytes.

--metadata-size=<size>
-y <size>

Size of metadata in bytes.

--data=<data-file>
-d <data-file>

Data file. If none provided, contents are sent to STDOUT.

--metadata=<metadata-file>
-M <metadata-file>

Metadata file, if necessary.

--prinfo=<prinfo>
-p <prinfo>

Protection Information field definition.

Bit

Description

3

PRACT: Protection Information Action. When set to 1, PI is stripped/inserted on read/write when the block format’s metadata size is 8. When set to 0, metadata is passes.

2:0

PRCHK: Protection Information Check:

2

Set to 1 enables checking the guard tag

1

Set to 1 enables checking the application tag

0

Set to 1 enables checking the reference tag

--ref-tag=<reftag>
-r <reftag>

Optional reftag when used with protection information.

--app-tag-mask=<appmask>
-m <appmask>

Optional application tag mask when used with protection information.

--force-unit-access
-f

Set the force-unit access flag.

-T <type>
--dir-type=<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.

-S <spec>
--dir-spec=<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.

-D <dsm>
--dsm=<dsm>

The optional data set management attributes for this command. The argument for this is the lower 16 bits of the DSM field in a write command; the upper 16 bits of the field come from the directive specific field, if used. This may be used to set attributes for the LBAs being written, like access frequency, type, latency, among other things, as well as yet to be defined types. Please consult the NVMe specification for detailed breakdown of how to use this field.

-v
--show-cmd

Print out the command to be sent.

-w
--dry-run

Do not actually send the command. If want to use --dry-run option, --show-cmd option must be set. Otherwise --dry-run option will be ignored.

-t
--latency

Print out the latency the IOCTL took (in us).

EXAMPLES

No examples yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-read.txt000066400000000000000000000070461352532746300203460ustar00rootroot00000000000000nvme-read(1) ============ NAME ---- nvme-read - Send an NVMe Read command, provide results SYNOPSIS -------- [verse] 'nvme-read' [--start-block= | -s ] [--block-count= | -c ] [--data-size= | -z ] [--metadata-size= | -y ] [--ref-tag= | -r ] [--data= | -d ] [--metadata= | -M ] [--prinfo= | -p ] [--app-tag-mask= | -m ] [--app-tag= | -a ] [--limited-retry | -l] [--force-unit-access | -f] [--dir-type= | -T ] [--dir-spec= | -S ] [--dsm= | -D ] [--show-command | -v] [--dry-run | -w] [--latency | -t] DESCRIPTION ----------- The Read command reads the logical blocks specified by the command from the medium and copies to the data data buffer provided. Will use stdout by default if you don't provide a file. OPTIONS ------- --start-block=:: -s :: Start block. --block-count:: -c:: The number of blocks to transfer. This is a zeroes based value to align with the kernel's use of this field. (ie. 0 means transfer 1 block). --data-size=:: -z :: Size of data, in bytes. --metadata-size=:: -y :: Size of metadata in bytes. --data=:: -d :: Data file. If none provided, contents are sent to STDOUT. --metadata=:: -M :: Metadata file, if necessary. --prinfo=:: -p :: Protection Information field definition. + [] |================= |Bit|Description |3|PRACT: Protection Information Action. When set to 1, PI is stripped/inserted on read/write when the block format's metadata size is 8. When set to 0, metadata is passes. |2:0|PRCHK: Protection Information Check: |2|Set to 1 enables checking the guard tag |1|Set to 1 enables checking the application tag |0|Set to 1 enables checking the reference tag |================= --ref-tag=:: -r :: Optional reftag when used with protection information. --app-tag-mask=:: -m :: Optional application tag mask when used with protection information. --force-unit-access:: -f:: Set the force-unit access flag. -T :: --dir-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. -S :: --dir-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. -D :: --dsm=:: The optional data set management attributes for this command. The argument for this is the lower 16 bits of the DSM field in a write command; the upper 16 bits of the field come from the directive specific field, if used. This may be used to set attributes for the LBAs being written, like access frequency, type, latency, among other things, as well as yet to be defined types. Please consult the NVMe specification for detailed breakdown of how to use this field. -v:: --show-cmd:: Print out the command to be sent. -w:: --dry-run:: Do not actually send the command. If want to use --dry-run option, --show-cmd option _must_ be set. Otherwise --dry-run option will be _ignored_. -t:: --latency:: Print out the latency the IOCTL took (in us). EXAMPLES -------- No examples yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-reset.1000066400000000000000000000033251352532746300200720ustar00rootroot00000000000000'\" t .\" Title: nvme-reset .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-RESET" "1" "01/08/2019" "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-reset \- Reset the nvme controller\&. .SH "SYNOPSIS" .sp .nf \fInvme reset\fR .fi .SH "DESCRIPTION" .sp Requests NVMe controller reset\&. The param is mandatory and must be an NVMe character device (ex: /dev/nvme0)\&. .SH "OPTIONS" .sp None .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Resets the controller\&. .sp .if n \{\ .RS 4 .\} .nf # nvme reset /dev/nvme0 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-reset.html000066400000000000000000000423671352532746300207070ustar00rootroot00000000000000 nvme-reset(1)

SYNOPSIS

nvme reset <device>

DESCRIPTION

Requests NVMe controller reset. The <device> param is mandatory and must be an NVMe character device (ex: /dev/nvme0).

OPTIONS

None

EXAMPLES

  • Resets the controller.

    # nvme reset /dev/nvme0

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-reset.txt000066400000000000000000000006551352532746300205540ustar00rootroot00000000000000nvme-reset(1) ============= NAME ---- nvme-reset - Reset the nvme controller. SYNOPSIS -------- [verse] 'nvme reset' DESCRIPTION ----------- Requests NVMe controller reset. The param is mandatory and must be an NVMe character device (ex: /dev/nvme0). OPTIONS ------- None EXAMPLES -------- * Resets the controller. + ------------ # nvme reset /dev/nvme0 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-resv-acquire.1000066400000000000000000000076021352532746300213600ustar00rootroot00000000000000'\" t .\" Title: nvme-resv-acquire .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-RESV\-ACQUIRE" "1" "01/08/2019" "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-resv-acquire \- Acquire an nvme reservation .SH "SYNOPSIS" .sp .nf \fInvme resv\-acquire\fR [\-\-namespace\-id= | \-n ] [\-\-crkey= | \-c ] [\-\-prkey= | \-p ] [\-\-rtype= | \-t ] [\-\-racqa= | \-a ] [\-\-iekey | \-i] .fi .SH "DESCRIPTION" .sp The Reservation Acquire command is used to acquire a reservation on a namespace, preempt a reservation held on a namespace, and abort a reservation held on a namespace\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Override the nsid field\&. If using the admin character device, this parameter is required\&. .RE .PP \-c , \-\-crkey= .RS 4 Current Reservation Key: The field specifies the current reservation key associated with the host\&. If the IEKEY bit is set to \(oq1\(cq in the command, then the CRKEY check succeeds regardless of the value in this field\&. .RE .PP \-p , \-\-prkey= .RS 4 Preempt Reservation Key: If the Reservation Acquire Action is set to 001b (i\&.e\&., Preempt) or 010b (i\&.e\&., Preempt and Abort), then this field specifies the reservation key to be unregistered from the namespace\&. For all other Reservation Acquire Action values, this field is reserved\&. .RE .PP \-t , \-\-rtyep= .RS 4 Reservation Type: This field specifies the type of reservation to be created\&. .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt. T{ Value T}:T{ Definition T} T{ 0h T}:T{ Reserved T} T{ 1h T}:T{ Write Exclusive Reservation T} T{ 2h T}:T{ Exclusive Access Reservation T} T{ 3h T}:T{ Write Exclusive \- Registrants Only Reservation T} T{ 4h T}:T{ Exclusive Access \- Registrants Only Reservation T} T{ 5h T}:T{ Write Exclusive \- All Registrants Reservation T} T{ 6h T}:T{ Exclusive Access \- All Registrants Reservation T} T{ 07h\-FFh T}:T{ Reserved T} .TE .sp 1 .RE .PP \-a , \-\-racqa= .RS 4 Reservation Acquire Action: This field specifies the action that is performed by the command\&. .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt. T{ Value T}:T{ Definition T} T{ 0 T}:T{ Acquire T} T{ 1 T}:T{ Preempt T} T{ 2 T}:T{ Preempt and Abort T} T{ 3\-7 T}:T{ Reserved T} .TE .sp 1 .RE .PP \-i, \-\-iekey .RS 4 Ignore Existing Key: If this bit is set to a \fI1\fR, then the Current Reservation Key (CRKEY) check is disabled and the command shall succeed regardless of the CRKEY field value\&. .sp Indicator option, defaults to \fI0\fR\&. .RE .SH "EXAMPLES" .sp No examples yet .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-resv-acquire.html000066400000000000000000000537031352532746300221670ustar00rootroot00000000000000 nvme-resv-acquire(1)

SYNOPSIS

nvme resv-acquire <device> [--namespace-id=<nsid> | -n <nsid>]
                             [--crkey=<crkey> | -c <crkey>]
                             [--prkey=<prkey> | -p <prkey>]
                             [--rtype=<rtype> | -t <rtype>]
                             [--racqa=<racqa> | -a <racqa>]
                             [--iekey | -i]

DESCRIPTION

The Reservation Acquire command is used to acquire a reservation on a namespace, preempt a reservation held on a namespace, and abort a reservation held on a namespace.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Override the nsid field. If using the admin character device, this parameter is required.

-c <crkey>
--crkey=<crkey>

Current Reservation Key: The field specifies the current reservation key associated with the host. If the IEKEY bit is set to ‘1’ in the command, then the CRKEY check succeeds regardless of the value in this field.

-p <prkey>
--prkey=<prkey>

Preempt Reservation Key: If the Reservation Acquire Action is set to 001b (i.e., Preempt) or 010b (i.e., Preempt and Abort), then this field specifies the reservation key to be unregistered from the namespace. For all other Reservation Acquire Action values, this field is reserved.

-t <rtype>
--rtyep=<rtype>

Reservation Type: This field specifies the type of reservation to be created.

Value

Definition

0h

Reserved

1h

Write Exclusive Reservation

2h

Exclusive Access Reservation

3h

Write Exclusive - Registrants Only Reservation

4h

Exclusive Access - Registrants Only Reservation

5h

Write Exclusive - All Registrants Reservation

6h

Exclusive Access - All Registrants Reservation

07h-FFh

Reserved

-a <racqa>
--racqa=<racqa>

Reservation Acquire Action: This field specifies the action that is performed by the command.

Value

Definition

0

Acquire

1

Preempt

2

Preempt and Abort

3-7

Reserved

-i
--iekey

Ignore Existing Key: If this bit is set to a 1, then the Current Reservation Key (CRKEY) check is disabled and the command shall succeed regardless of the CRKEY field value.

Indicator option, defaults to 0.

EXAMPLES

No examples yet

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-resv-acquire.txt000066400000000000000000000044111352532746300220320ustar00rootroot00000000000000nvme-resv-acquire(1) ==================== NAME ---- nvme-resv-acquire - Acquire an nvme reservation SYNOPSIS -------- [verse] 'nvme resv-acquire' [--namespace-id= | -n ] [--crkey= | -c ] [--prkey= | -p ] [--rtype= | -t ] [--racqa= | -a ] [--iekey | -i] DESCRIPTION ----------- The Reservation Acquire command is used to acquire a reservation on a namespace, preempt a reservation held on a namespace, and abort a reservation held on a namespace. OPTIONS ------- -n :: --namespace-id=:: Override the nsid field. If using the admin character device, this parameter is required. -c :: --crkey=:: Current Reservation Key: The field specifies the current reservation key associated with the host. If the IEKEY bit is set to ‘1’ in the command, then the CRKEY check succeeds regardless of the value in this field. -p :: --prkey=:: Preempt Reservation Key: If the Reservation Acquire Action is set to 001b (i.e., Preempt) or 010b (i.e., Preempt and Abort), then this field specifies the reservation key to be unregistered from the namespace. For all other Reservation Acquire Action values, this field is reserved. -t :: --rtyep=:: Reservation Type: This field specifies the type of reservation to be created. + [] |================= |Value|Definition |0h|Reserved |1h|Write Exclusive Reservation |2h|Exclusive Access Reservation |3h|Write Exclusive - Registrants Only Reservation |4h|Exclusive Access - Registrants Only Reservation |5h|Write Exclusive - All Registrants Reservation |6h|Exclusive Access - All Registrants Reservation |07h-FFh|Reserved |================= -a :: --racqa=:: Reservation Acquire Action: This field specifies the action that is performed by the command. + [] |================= |Value|Definition |0|Acquire |1|Preempt |2|Preempt and Abort |3-7|Reserved |================= -i:: --iekey:: Ignore Existing Key: If this bit is set to a '1', then the Current Reservation Key (CRKEY) check is disabled and the command shall succeed regardless of the CRKEY field value. + Indicator option, defaults to '0'. EXAMPLES -------- No examples yet NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-resv-register.1000066400000000000000000000100471352532746300215500ustar00rootroot00000000000000'\" t .\" Title: nvme-resv-register .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-RESV\-REGISTER" "1" "01/08/2019" "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-resv-register \- Register an nvme reservation .SH "SYNOPSIS" .sp .nf \fInvme resv\-register\fR [\-\-namespace\-id= | \-n ] [\-\-crkey= | \-c ] [\-\-nrkey= | \-k ] [\-\-rrega= | \-r ] [\-\-cptpl= | \-p ] [\-\-iekey | \-i] .fi .SH "DESCRIPTION" .sp The Reservation Register command is used to register, unregister, or replace a reservation key\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Override the nsid field\&. If using the admin character device, this parameter is required\&. .RE .PP \-c , \-\-crkey= .RS 4 Current Reservation Key: If the Reservation Register Action is 001b (i\&.e\&., Unregister Reservation Key) or 010b (i\&.e\&., Replace Reservation Key), then this field contains the current reservation key associated with the host\&. For all other Reservation Register Action values, this field is reserved\&. The controller ignores the value of this field when the Ignore Existing Key (IEKEY) bit is set to \(oq1\(cq\&. .RE .PP \-k , \-\-nrkey= .RS 4 New Reservation Key: If the Reservation Register Action is 000b (i\&.e\&., Register Reservation Key) or 010b (i\&.e\&., Replace Reservation Key), then this field contains the new reservation key associated with the host\&. For all other Reservation Register Action values, this field is reserved\&. .RE .PP \-p , \-\-cptpl= .RS 4 Change Persist Through Power Loss State: This field allows the Persist Through Power Loss state associated with the namespace to be modified as a side effect of processing this command\&. .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt. T{ Value T}:T{ Definition T} T{ 0 T}:T{ No change to PTPL state T} T{ 1 T}:T{ Reserved T} T{ 2 T}:T{ Set PTPL state to \(oq0\(cq\&. Reservations are released and registrants are cleared on a power on\&. T} T{ 3 T}:T{ Set PTPL state to \(oq1\(cq\&. Reservations and registrants persist across a power loss\&. T} .TE .sp 1 .RE .PP \-a , \-\-rrega= .RS 4 Reservation Register Action: This field specifies the registration action that is performed by the command\&. .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt. T{ Value T}:T{ Definition T} T{ 0 T}:T{ Register Reservation Key T} T{ 1 T}:T{ Unregister Reservation Key T} T{ 2 T}:T{ Replace Reservation Key T} T{ 3\-7 T}:T{ Reserved T} .TE .sp 1 .RE .PP \-i, \-\-iekey .RS 4 Ignore Existing Key: If this bit is set to a \fI1\fR, then the Current Reservation Key (CRKEY) check is disabled and the command shall succeed regardless of the CRKEY field value\&. .sp Indicator option, defaults to \fI0\fR\&. .RE .SH "EXAMPLES" .sp No examples yet .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-resv-register.html000066400000000000000000000533071352532746300223620ustar00rootroot00000000000000 nvme-resv-register(1)

SYNOPSIS

nvme resv-register <device> [--namespace-id=<nsid> | -n <nsid>]
                              [--crkey=<crkey> | -c <crkey>]
                              [--nrkey=<nrkey> | -k <nrkey>]
                              [--rrega=<rrega> | -r <rrega>]
                              [--cptpl=<cptpl> | -p <cptpl>]
                              [--iekey | -i]

DESCRIPTION

The Reservation Register command is used to register, unregister, or replace a reservation key.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Override the nsid field. If using the admin character device, this parameter is required.

-c <crkey>
--crkey=<crkey>

Current Reservation Key: If the Reservation Register Action is 001b (i.e., Unregister Reservation Key) or 010b (i.e., Replace Reservation Key), then this field contains the current reservation key associated with the host. For all other Reservation Register Action values, this field is reserved. The controller ignores the value of this field when the Ignore Existing Key (IEKEY) bit is set to ‘1’.

-k <nrkey>
--nrkey=<nrkey>

New Reservation Key: If the Reservation Register Action is 000b (i.e., Register Reservation Key) or 010b (i.e., Replace Reservation Key), then this field contains the new reservation key associated with the host. For all other Reservation Register Action values, this field is reserved.

-p <cptpl>
--cptpl=<cptpl>

Change Persist Through Power Loss State: This field allows the Persist Through Power Loss state associated with the namespace to be modified as a side effect of processing this command.

Value

Definition

0

No change to PTPL state

1

Reserved

2

Set PTPL state to ‘0’. Reservations are released and registrants are cleared on a power on.

3

Set PTPL state to ‘1’. Reservations and registrants persist across a power loss.

-a <rrega>
--rrega=<rrega>

Reservation Register Action: This field specifies the registration action that is performed by the command.

Value

Definition

0

Register Reservation Key

1

Unregister Reservation Key

2

Replace Reservation Key

3-7

Reserved

-i
--iekey

Ignore Existing Key: If this bit is set to a 1, then the Current Reservation Key (CRKEY) check is disabled and the command shall succeed regardless of the CRKEY field value.

Indicator option, defaults to 0.

EXAMPLES

No examples yet

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-resv-register.txt000066400000000000000000000047431352532746300222350ustar00rootroot00000000000000nvme-resv-register(1) ===================== NAME ---- nvme-resv-register - Register an nvme reservation SYNOPSIS -------- [verse] 'nvme resv-register' [--namespace-id= | -n ] [--crkey= | -c ] [--nrkey= | -k ] [--rrega= | -r ] [--cptpl= | -p ] [--iekey | -i] DESCRIPTION ----------- The Reservation Register command is used to register, unregister, or replace a reservation key. OPTIONS ------- -n :: --namespace-id=:: Override the nsid field. If using the admin character device, this parameter is required. -c :: --crkey=:: Current Reservation Key: If the Reservation Register Action is 001b (i.e., Unregister Reservation Key) or 010b (i.e., Replace Reservation Key), then this field contains the current reservation key associated with the host. For all other Reservation Register Action values, this field is reserved. The controller ignores the value of this field when the Ignore Existing Key (IEKEY) bit is set to ‘1’. -k :: --nrkey=:: New Reservation Key: If the Reservation Register Action is 000b (i.e., Register Reservation Key) or 010b (i.e., Replace Reservation Key), then this field contains the new reservation key associated with the host. For all other Reservation Register Action values, this field is reserved. -p :: --cptpl=:: Change Persist Through Power Loss State: This field allows the Persist Through Power Loss state associated with the namespace to be modified as a side effect of processing this command. + [] |================= |Value|Definition |0|No change to PTPL state |1|Reserved |2|Set PTPL state to ‘0’. Reservations are released and registrants are cleared on a power on. |3|Set PTPL state to ‘1’. Reservations and registrants persist across a power loss. |================= -a :: --rrega=:: Reservation Register Action: This field specifies the registration action that is performed by the command. + [] |================= |Value|Definition |0|Register Reservation Key |1|Unregister Reservation Key |2|Replace Reservation Key |3-7|Reserved |================= -i:: --iekey:: Ignore Existing Key: If this bit is set to a '1', then the Current Reservation Key (CRKEY) check is disabled and the command shall succeed regardless of the CRKEY field value. + Indicator option, defaults to '0'. EXAMPLES -------- No examples yet NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-resv-release.1000066400000000000000000000071151352532746300213460ustar00rootroot00000000000000'\" t .\" Title: nvme-resv-release .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-RESV\-RELEASE" "1" "01/08/2019" "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-resv-release \- Release an nvme reservation .SH "SYNOPSIS" .sp .nf \fInvme resv\-release\fR [\-\-namespace\-id= | \-n ] [\-\-crkey= | \-c ] [\-\-rtype= | \-t ] [\-\-rrela= | \-a ] [\-\-iekey | \-i] .fi .SH "DESCRIPTION" .sp The Reservation Release command is used to release or clear a reservation held on a namespace\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Override the nsid field\&. If using the admin character device, this parameter is required\&. .RE .PP \-c , \-\-crkey= .RS 4 Current Reservation Key: If the Reservation Register Action is 001b (i\&.e\&., Unregister Reservation Key) or 010b (i\&.e\&., Replace Reservation Key), then this field contains the current reservation key associated with the host\&. For all other Reservation Register Action values, this field is reserved\&. The controller ignores the value of this field when the Ignore Existing Key (IEKEY) bit is set to \(oq1\(cq\&. .RE .PP \-t , \-\-rtyep= .RS 4 Reservation Type: This field specifies the type of reservation to be created\&. .TS allbox tab(:); lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt lt. T{ Value T}:T{ Definition T} T{ 0h T}:T{ Reserved T} T{ 1h T}:T{ Write Exclusive Reservation T} T{ 2h T}:T{ Exclusive Access Reservation T} T{ 3h T}:T{ Write Exclusive \- Registrants Only Reservation T} T{ 4h T}:T{ Exclusive Access \- Registrants Only Reservation T} T{ 5h T}:T{ Write Exclusive \- All Registrants Reservation T} T{ 6h T}:T{ Exclusive Access \- All Registrants Reservation T} T{ 07h\-FFh T}:T{ Reserved T} .TE .sp 1 .RE .PP \-a , \-\-rrela= .RS 4 Reservation Release Action: This field specifies the registration action that is performed by the command\&. .TS allbox tab(:); lt lt lt lt lt lt lt lt. T{ Value T}:T{ Definition T} T{ 0 T}:T{ Release T} T{ 1 T}:T{ Clear T} T{ 2\-7 T}:T{ Reserved T} .TE .sp 1 .RE .PP \-i, \-\-iekey .RS 4 Ignore Existing Key: If this bit is set to a \fI1\fR, then the Current Reservation Key (CRKEY) check is disabled and the command shall succeed regardless of the CRKEY field value\&. .sp Indicator option, defaults to \fI0\fR\&. .RE .SH "EXAMPLES" .sp No examples yet .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-resv-release.html000066400000000000000000000526671352532746300221660ustar00rootroot00000000000000 nvme-resv-release(1)

SYNOPSIS

nvme resv-release <device> [--namespace-id=<nsid> | -n <nsid>]
                             [--crkey=<crkey> | -c <crkey>]
                             [--rtype=<rtype> | -t <rtype>]
                             [--rrela=<rrela> | -a <rrela>]
                             [--iekey | -i]

DESCRIPTION

The Reservation Release command is used to release or clear a reservation held on a namespace.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Override the nsid field. If using the admin character device, this parameter is required.

-c <crkey>
--crkey=<crkey>

Current Reservation Key: If the Reservation Register Action is 001b (i.e., Unregister Reservation Key) or 010b (i.e., Replace Reservation Key), then this field contains the current reservation key associated with the host. For all other Reservation Register Action values, this field is reserved. The controller ignores the value of this field when the Ignore Existing Key (IEKEY) bit is set to ‘1’.

-t <rtype>
--rtyep=<rtype>

Reservation Type: This field specifies the type of reservation to be created.

Value

Definition

0h

Reserved

1h

Write Exclusive Reservation

2h

Exclusive Access Reservation

3h

Write Exclusive - Registrants Only Reservation

4h

Exclusive Access - Registrants Only Reservation

5h

Write Exclusive - All Registrants Reservation

6h

Exclusive Access - All Registrants Reservation

07h-FFh

Reserved

-a <rrela>
--rrela=<rrela>

Reservation Release Action: This field specifies the registration action that is performed by the command.

Value

Definition

0

Release

1

Clear

2-7

Reserved

-i
--iekey

Ignore Existing Key: If this bit is set to a 1, then the Current Reservation Key (CRKEY) check is disabled and the command shall succeed regardless of the CRKEY field value.

Indicator option, defaults to 0.

EXAMPLES

No examples yet

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-resv-release.txt000066400000000000000000000040111352532746300220150ustar00rootroot00000000000000nvme-resv-release(1) ==================== NAME ---- nvme-resv-release - Release an nvme reservation SYNOPSIS -------- [verse] 'nvme resv-release' [--namespace-id= | -n ] [--crkey= | -c ] [--rtype= | -t ] [--rrela= | -a ] [--iekey | -i] DESCRIPTION ----------- The Reservation Release command is used to release or clear a reservation held on a namespace. OPTIONS ------- -n :: --namespace-id=:: Override the nsid field. If using the admin character device, this parameter is required. -c :: --crkey=:: Current Reservation Key: If the Reservation Register Action is 001b (i.e., Unregister Reservation Key) or 010b (i.e., Replace Reservation Key), then this field contains the current reservation key associated with the host. For all other Reservation Register Action values, this field is reserved. The controller ignores the value of this field when the Ignore Existing Key (IEKEY) bit is set to ‘1’. -t :: --rtyep=:: Reservation Type: This field specifies the type of reservation to be created. + [] |================= |Value|Definition |0h|Reserved |1h|Write Exclusive Reservation |2h|Exclusive Access Reservation |3h|Write Exclusive - Registrants Only Reservation |4h|Exclusive Access - Registrants Only Reservation |5h|Write Exclusive - All Registrants Reservation |6h|Exclusive Access - All Registrants Reservation |07h-FFh|Reserved |================= -a :: --rrela=:: Reservation Release Action: This field specifies the registration action that is performed by the command. + [] |================= |Value|Definition |0|Release |1|Clear |2-7|Reserved |================= -i:: --iekey:: Ignore Existing Key: If this bit is set to a '1', then the Current Reservation Key (CRKEY) check is disabled and the command shall succeed regardless of the CRKEY field value. + Indicator option, defaults to '0'. EXAMPLES -------- No examples yet NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-resv-report.1000066400000000000000000000057131352532746300212430ustar00rootroot00000000000000'\" t .\" Title: nvme-resv-report .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-RESV\-REPORT" "1" "01/08/2019" "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-resv-report \- Send NVMe Reservation Report, parse the result .SH "SYNOPSIS" .sp .nf \fInvme resv\-report\fR [\-\-namespace\-id= | \-n ] [\-\-numd= | \-d ] [\-\-cdw11= | \-c ] [\-\-raw\-binary | \-b] [\-\-output\-format= | \-o ] .fi .SH "DESCRIPTION" .sp The Reservation Report command returns a Reservation Status data structure to host memory that describes the registration and reservation status of a namespace\&. .sp The size of the Reservation Status data structure is a function of the number of controllers in the NVM Subsystem that are associated with hosts that are registrants of the namespace (i\&.e\&., there is a Registered Controller data structure for each such controller)\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Retrieve the reservation report structure for the given nsid\&. This is required for the character devices, or overrides the block nsid if given\&. .RE .PP \-d , \-\-numd= .RS 4 Specify the number of Dwords of the Reservation Status structure to transfer\&. Defaults to 4k\&. .RE .PP \-c , \-\-cdw11= .RS 4 The value for command dword 11\&. Setting bit 0 specifies that the controller returns the Extended Data Structure\&. .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw buffer to stdout\&. Structure is not parsed by program\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp No examples yet\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-resv-report.html000066400000000000000000000461221352532746300220460ustar00rootroot00000000000000 nvme-resv-report(1)

SYNOPSIS

nvme resv-report <device> [--namespace-id=<nsid> | -n <nsid>]
                        [--numd=<num-dwords> | -d <num-dwords>]
                        [--cdw11=<cdw11> | -c <cdw11>]
                        [--raw-binary | -b]
                        [--output-format=<fmt> | -o <fmt>]

DESCRIPTION

The Reservation Report command returns a Reservation Status data structure to host memory that describes the registration and reservation status of a namespace.

The size of the Reservation Status data structure is a function of the number of controllers in the NVM Subsystem that are associated with hosts that are registrants of the namespace (i.e., there is a Registered Controller data structure for each such controller).

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Retrieve the reservation report structure for the given nsid. This is required for the character devices, or overrides the block nsid if given.

-d <num-dwords>
--numd=<num-dwords>

Specify the number of Dwords of the Reservation Status structure to transfer. Defaults to 4k.

-c <cdw11>
--cdw11=<cdw11>

The value for command dword 11. Setting bit 0 specifies that the controller returns the Extended Data Structure.

-b
--raw-binary

Print the raw buffer to stdout. Structure is not parsed by program.

-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

No examples yet.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-resv-report.txt000066400000000000000000000031311352532746300217120ustar00rootroot00000000000000nvme-resv-report(1) =================== NAME ---- nvme-resv-report - Send NVMe Reservation Report, parse the result SYNOPSIS -------- [verse] 'nvme resv-report' [--namespace-id= | -n ] [--numd= | -d ] [--cdw11= | -c ] [--raw-binary | -b] [--output-format= | -o ] DESCRIPTION ----------- The Reservation Report command returns a Reservation Status data structure to host memory that describes the registration and reservation status of a namespace. The size of the Reservation Status data structure is a function of the number of controllers in the NVM Subsystem that are associated with hosts that are registrants of the namespace (i.e., there is a Registered Controller data structure for each such controller). OPTIONS ------- -n :: --namespace-id=:: Retrieve the reservation report structure for the given nsid. This is required for the character devices, or overrides the block nsid if given. -d :: --numd=:: Specify the number of Dwords of the Reservation Status structure to transfer. Defaults to 4k. -c :: --cdw11=:: The value for command dword 11. Setting bit 0 specifies that the controller returns the Extended Data Structure. -b:: --raw-binary:: Print the raw buffer to stdout. Structure is not parsed by program. -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- No examples yet. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-sanitize-log.1000066400000000000000000000072101352532746300213520ustar00rootroot00000000000000'\" t .\" Title: nvme-sanitize-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-SANITIZE\-LOG" "1" "01/08/2019" "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-sanitize-log \- Send NVMe sanitize\-log Command, return result .SH "SYNOPSIS" .sp .nf \fInvme sanitize\-log\fR [\-\-output\-format= | \-o ] [\-\-human\-readable | \-H] [\-\-raw\-binary | \-b] .fi .SH "DESCRIPTION" .sp Retrieves the NVMe Sanitize log page from an NVMe device and provides the status of sanitize command\&. .sp The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. .sp Expected status and description :\- .TS allbox tab(:); ltB ltB. T{ Status Code T}:T{ Description T} .T& lt lt lt lt lt lt lt lt lt lt. T{ .sp 0x0000 T}:T{ .sp NVM subsystem has never been sanitized\&. T} T{ .sp 0x0001 T}:T{ .sp The most recent sanitize operation completed successfully\&. T} T{ .sp 0x0002 T}:T{ .sp A sanitize operation is currently in progress\&. T} T{ .sp 0x0003 T}:T{ .sp The most recent sanitize operation failed\&. T} T{ .sp 0x0100 T}:T{ .sp Global Data Erased bit If set to 1 then no namespace logical block in the NVM subsystem has been written to and no Persistent Memory Region in the NVM subsystem has been enabled: a) since being manufactured and the NVM subsystem has never been sanitized; or b) since the most recent successful sanitize operation\&. If cleared to 0, then a namespace logical block in the NVM subsystem has been written to or a Persistent Memory Region in the NVM subsystem has been enabled: a) since being manufactured and the NVM subsystem has never been sanitized; or b) since the most recent successful sanitize operation of the NVM subsystem\&. T} .TE .sp 1 .sp Sanitize Progress \- percentage complete .sp On success it returns 0, error code otherwise\&. .SH "OPTIONS" .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .PP \-H, \-\-human\-readable .RS 4 This option will parse and format many of the bit fields into human\-readable formats\&. .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Has the program issue Sanitize\-log Command : .sp .if n \{\ .RS 4 .\} .nf # nvme sanitize\-log /dev/nvme0 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite\&. nvme-cli-1.9/Documentation/nvme-sanitize-log.html000066400000000000000000000503361352532746300221650ustar00rootroot00000000000000 nvme-sanitize-log(1)

SYNOPSIS

nvme sanitize-log <device> [--output-format=<fmt> | -o <fmt>]
                             [--human-readable | -H]
                             [--raw-binary | -b]

DESCRIPTION

Retrieves the NVMe Sanitize log page from an NVMe device and provides the status of sanitize command.

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

Expected status and description :-

Status Code Description

0x0000

NVM subsystem has never been sanitized.

0x0001

The most recent sanitize operation completed successfully.

0x0002

A sanitize operation is currently in progress.

0x0003

The most recent sanitize operation failed.

0x0100

Global Data Erased bit If set to 1 then non-volatile storage in the NVM subsystem has not been written to: a) since being manufactured and the NVM subsystem has never been sanitized; or b) since the most recent successful sanitize operation. If cleared to 0, then non-volatile storage in the NVM subsystem has been written to: a) since being manufactured and the NVM subsystem has never been sanitized; or b) since the most recent successful sanitize operation of the NVM subsystem.

Sanitize Progress - percentage complete

On success it returns 0, error code otherwise.

OPTIONS

-o <format>
--output-format=<format>

Set the reporting format to normal, json, or binary. Only one output format can be used at a time.

-H
--human-readable

This option will parse and format many of the bit fields into human-readable formats.

-b
--raw-binary

Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options.

EXAMPLES

  • Has the program issue Sanitize-log Command :

    # nvme sanitize-log /dev/nvme0

NVME

Part of the nvme-user suite.


nvme-cli-1.9/Documentation/nvme-sanitize-log.txt000066400000000000000000000037531352532746300220410ustar00rootroot00000000000000nvme-sanitize-log(1) ==================== NAME ---- nvme-sanitize-log - Send NVMe sanitize-log Command, return result SYNOPSIS -------- [verse] 'nvme sanitize-log' [--output-format= | -o ] [--human-readable | -H] [--raw-binary | -b] DESCRIPTION ----------- Retrieves the NVMe Sanitize log page from an NVMe device and provides the status of sanitize command. The parameter is mandatory NVMe character device (ex: /dev/nvme0). Expected status and description :- [cols="2*", options="header"] |=== |Status Code |Description |0x0000 |NVM subsystem has never been sanitized. |0x0001 |The most recent sanitize operation completed successfully. |0x0002 |A sanitize operation is currently in progress. |0x0003 |The most recent sanitize operation failed. |0x0100 |Global Data Erased bit If set to 1 then non-volatile storage in the NVM subsystem has not been written to: a) since being manufactured and the NVM subsystem has never been sanitized; or b) since the most recent successful sanitize operation. If cleared to 0, then non-volatile storage in the NVM subsystem has been written to: a) since being manufactured and the NVM subsystem has never been sanitized; or b) since the most recent successful sanitize operation of the NVM subsystem. |=== Sanitize Progress - percentage complete On success it returns 0, error code otherwise. OPTIONS ------- -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. -H:: --human-readable:: This option will parse and format many of the bit fields into human-readable formats. -b:: --raw-binary:: Print the raw buffer to stdout. Structure is not parsed by program. This overrides the vendor specific and human readable options. EXAMPLES -------- * Has the program issue Sanitize-log Command : + ------------ # nvme sanitize-log /dev/nvme0 ------------ NVME ---- Part of the nvme-user suite. nvme-cli-1.9/Documentation/nvme-sanitize.1000066400000000000000000000102761352532746300206010ustar00rootroot00000000000000'\" t .\" Title: nvme-sanitize .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-SANITIZE" "1" "01/08/2019" "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-sanitize \- Send NVMe Sanitize Command, return result .SH "SYNOPSIS" .sp .nf \fInvme sanitize\fR [\-\-no\-dealloc | \-d] [\-\-oipbp | \-i] [\-\-owpass= | \-n ] [\-\-ause | \-u] [\-\-sanact= | \-a ] [\-\-ovrpat= | \-p ] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends a Sanitize command and provides the result\&. .sp The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. .sp On success it returns 0, error code otherwise\&. .SH "OPTIONS" .PP \-d, \-\-no\-delloc .RS 4 No Deallocate After Sanitize: If set, then the controller shall not deallocate any logical blocks as a result of successfully completing the sanitize operation\&. If cleared, then the controller should deallocate logical blocks as a result of successfully completing the sanitize operation\&. This bit shall be ignored if the Sanitize Action field is set to 001b (i\&.e\&., Exit Failure Mode)\&. .RE .PP \-i, \-\-oipbp .RS 4 Overwrite Invert Pattern Between Passes: If set, then the Overwrite Pattern shall be inverted between passes\&. If cleared, then the overwrite pattern shall not be inverted between passes\&. This bit shall be ignored unless the Sanitize Action field is set to 011b (i\&.e\&., Overwrite)\&. .RE .PP \-n , \-\-owpass= .RS 4 Overwrite Pass Count: This field specifies the number of overwrite passes (i\&.e\&., how many times the media is to be overwritten) using the data from the Overwrite Pattern field of this command\&. A value of 0 specifies 16 overwrite passes\&. This field shall be ignored unless the Sanitize Action field is set to 011b (i\&.e\&., Overwrite)\&. .RE .PP \-u, \-\-ause .RS 4 Allow Unrestricted Sanitize Exit: If set, then the sanitize operation is performed in unrestricted completion mode\&. If cleared then the sanitize operation is performed in restricted completion mode\&. This bit shall be ignored if the Sanitize Action field is set to 001b (i\&.e\&., Exit Failure Mode)\&. .RE .PP \-a , \-\-sanact= .RS 4 Sanitize Action: 000b \- Reserved 001b \- Exit Failure Mode 010b \- Start a Block Erase sanitize operation 011b \- Start an Overwrite sanitize operation 100b \- Start a Crypto Erase sanitize operation .RE .PP \-p , \-\-ovrpat= .RS 4 Overwrite Pattern: This field is ignored unless the Sanitize Action field in Command Dword 10 is set to 011b (i\&.e\&., Overwrite)\&. This field specifies a 32\-bit pattern that is used for the Overwrite sanitize operation\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Has the program issue Sanitize Command : .sp .if n \{\ .RS 4 .\} .nf # nvme sanitize /dev/nvme0n1 \-a 0x02 # nvme sanitize /dev/nvme0n1 \-\-sanact=0x01 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite\&. nvme-cli-1.9/Documentation/nvme-sanitize.html000066400000000000000000000470111352532746300214020ustar00rootroot00000000000000 nvme-sanitize(1)

SYNOPSIS

nvme sanitize <device> [--no-dealloc | -d]
              [--oipbp | -i]
              [--owpass=<overwrite-pass-count> | -n <overwrite-pass-count>]
              [--ause | -u]
              [--sanact=<action> | -a <action>]
              [--ovrpat=<overwrite-pattern> | -p <overwrite-pattern>]

DESCRIPTION

For the NVMe device given, sends a Sanitize command and provides the result.

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

On success it returns 0, error code otherwise.

OPTIONS

-d
--no-delloc

No Deallocate After Sanitize: If set, then the controller shall not deallocate any logical blocks as a result of successfully completing the sanitize operation. If cleared, then the controller should deallocate logical blocks as a result of successfully completing the sanitize operation. This bit shall be ignored if the Sanitize Action field is set to 001b (i.e., Exit Failure Mode).

-i
--oipbp

Overwrite Invert Pattern Between Passes: If set, then the Overwrite Pattern shall be inverted between passes. If cleared, then the overwrite pattern shall not be inverted between passes. This bit shall be ignored unless the Sanitize Action field is set to 011b (i.e., Overwrite).

-n <overwrite-pass-count>
--owpass=<overwrite-pass-count>

Overwrite Pass Count: This field specifies the number of overwrite passes (i.e., how many times the media is to be overwritten) using the data from the Overwrite Pattern field of this command. A value of 0 specifies 16 overwrite passes. This field shall be ignored unless the Sanitize Action field is set to 011b (i.e., Overwrite).

-u
--ause

Allow Unrestricted Sanitize Exit: If set, then the sanitize operation is performed in unrestricted completion mode. If cleared then the sanitize operation is performed in restricted completion mode. This bit shall be ignored if the Sanitize Action field is set to 001b (i.e., Exit Failure Mode).

-a <action>
--sanact=<action>

Sanitize Action: 000b - Reserved 001b - Exit Failure Mode 010b - Start a Block Erase sanitize operation 011b - Start an Overwrite sanitize operation 100b - Start a Crypto Erase sanitize operation

-p <overwrite-pattern>
--ovrpat=<overwrite-pattern>

Overwrite Pattern: This field is ignored unless the Sanitize Action field in Command Dword 10 is set to 011b (i.e., Overwrite). This field specifies a 32-bit pattern that is used for the Overwrite sanitize operation.

EXAMPLES

  • Has the program issue Sanitize Command :

    # nvme sanitize /dev/nvme0n1 -a 0x02
    # nvme sanitize /dev/nvme0n1 --sanact=0x01

NVME

Part of the nvme-user suite.


nvme-cli-1.9/Documentation/nvme-sanitize.txt000066400000000000000000000055621352532746300212620ustar00rootroot00000000000000nvme-sanitize(1) ================ NAME ---- nvme-sanitize - Send NVMe Sanitize Command, return result SYNOPSIS -------- [verse] 'nvme sanitize' [--no-dealloc | -d] [--oipbp | -i] [--owpass= | -n ] [--ause | -u] [--sanact= | -a ] [--ovrpat= | -p ] DESCRIPTION ----------- For the NVMe device given, sends a Sanitize command and provides the result. The parameter is mandatory NVMe character device (ex: /dev/nvme0). On success it returns 0, error code otherwise. OPTIONS ------- -d:: --no-delloc:: No Deallocate After Sanitize: If set, then the controller shall not deallocate any logical blocks as a result of successfully completing the sanitize operation. If cleared, then the controller should deallocate logical blocks as a result of successfully completing the sanitize operation. This bit shall be ignored if the Sanitize Action field is set to 001b (i.e., Exit Failure Mode). -i:: --oipbp:: Overwrite Invert Pattern Between Passes: If set, then the Overwrite Pattern shall be inverted between passes. If cleared, then the overwrite pattern shall not be inverted between passes. This bit shall be ignored unless the Sanitize Action field is set to 011b (i.e., Overwrite). -n :: --owpass=:: Overwrite Pass Count: This field specifies the number of overwrite passes (i.e., how many times the media is to be overwritten) using the data from the Overwrite Pattern field of this command. A value of 0 specifies 16 overwrite passes. This field shall be ignored unless the Sanitize Action field is set to 011b (i.e., Overwrite). -u:: --ause:: Allow Unrestricted Sanitize Exit: If set, then the sanitize operation is performed in unrestricted completion mode. If cleared then the sanitize operation is performed in restricted completion mode. This bit shall be ignored if the Sanitize Action field is set to 001b (i.e., Exit Failure Mode). -a :: --sanact=:: Sanitize Action: 000b - Reserved 001b - Exit Failure Mode 010b - Start a Block Erase sanitize operation 011b - Start an Overwrite sanitize operation 100b - Start a Crypto Erase sanitize operation -p :: --ovrpat=:: Overwrite Pattern: This field is ignored unless the Sanitize Action field in Command Dword 10 is set to 011b (i.e., Overwrite). This field specifies a 32-bit pattern that is used for the Overwrite sanitize operation. EXAMPLES -------- * Has the program issue Sanitize Command : + ------------ # nvme sanitize /dev/nvme0n1 -a 0x02 # nvme sanitize /dev/nvme0n1 --sanact=0x01 ------------ NVME ---- Part of the nvme-user suite. nvme-cli-1.9/Documentation/nvme-security-recv.1000066400000000000000000000073661352532746300215650ustar00rootroot00000000000000'\" t .\" Title: nvme-security-recv .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-SECURITY\-RECV" "1" "01/08/2019" "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-security-recv \- Security Recv command .SH "SYNOPSIS" .sp .nf \fInvme security\-recv\fR [\-\-size= | \-x ] [\-\-secp= | \-p ] [\-\-spsp= | \-s ] [\-\-nssf= | \-N ] [\-\-al= | \-t ] [\-\-namespace\-id= | \-n ] [\-\-raw\-binary | \-b] .fi .SH "DESCRIPTION" .sp The Security Receive command transfers the status and data result of one or more Security Send commands that were previously submitted to the controller\&. .sp The association between a Security Receive command and previous Security Send commands is dependent on the Security Protocol\&. The format of the data to be transferred is dependent on the Security Protocol\&. Refer to SPC\-4 for Security Protocol details\&. .sp Each Security Receive command returns the appropriate data corresponding to a Security Send command as defined by the rules of the Security Protocol\&. The Security Receive command data may not be retained if there is a loss of communication between the controller and host, or if a controller reset occurs\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Target a specific namespace for this security command\&. .RE .PP \-N , \-\-nssf= .RS 4 NVMe Security Specific field\&. If using security protocol EAh assigned for NVMe use, the NVMe security specific field indicates which reply memory buffer target\&. .RE .PP \-x , \-\-size= .RS 4 Size of buffer to allocate\&. One success it will be printed to STDOUT\&. .RE .PP \-p , \-\-secp= .RS 4 Security Protocol: This field specifies the security protocol as defined in SPC\-4\&. The controller shall fail the command with Invalid Parameter indicated if a reserved value of the Security Protocol is specified\&. .RE .PP \-s , \-\-spsp= .RS 4 SP Specific: The value of this field is specific to the Security Protocol as defined in SPC\-4\&. .RE .PP \-t , \-\-al= .RS 4 Allocation Length: The value of this field is specific to the Security Protocol as defined in SPC\-4\&. .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw buffer to stdout\&. Defaults to print in hex\&. .RE .SH "EXAMPLES" .sp No Examples .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-security-recv.html000066400000000000000000000501171352532746300223610ustar00rootroot00000000000000 nvme-security-recv(1)

SYNOPSIS

nvme security-recv <device> [--size=<size> | -x <size>]
                    [--secp=<security-protocol> | -p <security-protocol>]
                    [--spsp=<protocol-specific> | -s <protocol-specific>]
                    [--nssf=<nvme-specific> | -N <nvme-specific>]
                    [--al=<allocation-length> | -t <allocation-length>]
                    [--namespace-id=<nsid> | -n <nsid>]
                    [--raw-binary | -b]

DESCRIPTION

The Security Receive command transfers the status and data result of one or more Security Send commands that were previously submitted to the controller.

The association between a Security Receive command and previous Security Send commands is dependent on the Security Protocol. The format of the data to be transferred is dependent on the Security Protocol. Refer to SPC-4 for Security Protocol details.

Each Security Receive command returns the appropriate data corresponding to a Security Send command as defined by the rules of the Security Protocol. The Security Receive command data may not be retained if there is a loss of communication between the controller and host, or if a controller reset occurs.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Target a specific namespace for this security command.

-N <nssf>
--nssf=<nssf>

NVMe Security Specific field. If using security protocol EAh assigned for NVMe use, the NVMe security specific field indicates which reply memory buffer target.

-x <size>
--size=<size>

Size of buffer to allocate. One success it will be printed to STDOUT.

-p <security-protocol>
--secp=<security-protocol>

Security Protocol: This field specifies the security protocol as defined in SPC-4. The controller shall fail the command with Invalid Parameter indicated if a reserved value of the Security Protocol is specified.

-s <security-protocol-specific>
--spsp=<security-protocol-specific>

SP Specific: The value of this field is specific to the Security Protocol as defined in SPC-4.

-t <allocation-length>
--al=<allocation-length>

Allocation Length: The value of this field is specific to the Security Protocol as defined in SPC-4.

-b
--raw-binary

Print the raw buffer to stdout. Defaults to print in hex.

EXAMPLES

No Examples

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-security-recv.txt000066400000000000000000000045031352532746300222320ustar00rootroot00000000000000nvme-security-recv(1) ===================== NAME ---- nvme-security-recv - Security Recv command SYNOPSIS -------- [verse] 'nvme security-recv' [--size= | -x ] [--secp= | -p ] [--spsp= | -s ] [--nssf= | -N ] [--al= | -t ] [--namespace-id= | -n ] [--raw-binary | -b] DESCRIPTION ----------- The Security Receive command transfers the status and data result of one or more Security Send commands that were previously submitted to the controller. The association between a Security Receive command and previous Security Send commands is dependent on the Security Protocol. The format of the data to be transferred is dependent on the Security Protocol. Refer to SPC-4 for Security Protocol details. Each Security Receive command returns the appropriate data corresponding to a Security Send command as defined by the rules of the Security Protocol. The Security Receive command data may not be retained if there is a loss of communication between the controller and host, or if a controller reset occurs. OPTIONS ------- -n :: --namespace-id=:: Target a specific namespace for this security command. -N :: --nssf=:: NVMe Security Specific field. If using security protocol EAh assigned for NVMe use, the NVMe security specific field indicates which reply memory buffer target. -x :: --size=:: Size of buffer to allocate. One success it will be printed to STDOUT. -p :: --secp=:: Security Protocol: This field specifies the security protocol as defined in SPC-4. The controller shall fail the command with Invalid Parameter indicated if a reserved value of the Security Protocol is specified. -s :: --spsp=:: SP Specific: The value of this field is specific to the Security Protocol as defined in SPC-4. -t :: --al=:: Allocation Length: The value of this field is specific to the Security Protocol as defined in SPC-4. -b:: --raw-binary:: Print the raw buffer to stdout. Defaults to print in hex. EXAMPLES -------- No Examples NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-security-send.1000066400000000000000000000070631352532746300215510ustar00rootroot00000000000000'\" t .\" Title: nvme-security-send .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-SECURITY\-SEND" "1" "01/08/2019" "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-security-send \- Security Send command .SH "SYNOPSIS" .sp .nf \fInvme security\-send\fR [\-\-file= | \-f ] [\-\-secp= | \-p ] [\-\-spsp= | \-s ] [\-\-tl= | \-t ] [\-\-nssf= | \-N ] [\-\-namespace\-id= | \-n ] .fi .SH "DESCRIPTION" .sp The Security Send command is used to transfer security protocol data to the controller\&. The data structure transferred to the controller as part of this command contains security protocol specific commands to be performed by the controller\&. The data structure transferred may also contain data or parameters associated with the security protocol commands\&. Status and data that is to be returned to the host for the security protocol commands submitted by a Security Send command are retrieved with the Security Receive command\&. .sp The association between a Security Send command and subsequent Security Receive command is Security Protocol field dependent as defined in SPC\-4\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Target a specific namespace for this security command\&. .RE .PP \-N , \-\-nssf= .RS 4 NVMe Security Specific field\&. If using security protocol EAh assigned for NVMe use, the NVMe security specific field indicates which reply memory buffer target\&. .RE .PP \-f , \-\-file= .RS 4 Path to file used as the security protocol\(cqs payload\&. Required argument\&. .RE .PP \-p , \-\-secp= .RS 4 Security Protocol: This field specifies the security protocol as defined in SPC\-4\&. The controller shall fail the command with Invalid Parameter indicated if a reserved value of the Security Protocol is specified\&. .RE .PP \-s , \-\-spsp= .RS 4 SP Specific: The value of this field is specific to the Security Protocol as defined in SPC\-4\&. .RE .PP \-t , \-\-tl= .RS 4 Transfer Length: The value of this field is specific to the Security Protocol as defined in SPC\-4\&. .RE .SH "EXAMPLES" .sp No Examples .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-security-send.html000066400000000000000000000474541352532746300223650ustar00rootroot00000000000000 nvme-security-send(1)

SYNOPSIS

nvme security-send <device> [--file=<file> | -f <file>]
                    [--secp=<security-protocol> | -p <security-protocol>]
                    [--spsp=<protocol-specific> | -s <protocol-specific>]
                    [--tl=<transfer-length> | -t <transfer-length>]
                    [--nssf=<nvme-specific> | -N <nvme-specific>]
                    [--namespace-id=<nsid> | -n <nsid>]

DESCRIPTION

The Security Send command is used to transfer security protocol data to the controller. The data structure transferred to the controller as part of this command contains security protocol specific commands to be performed by the controller. The data structure transferred may also contain data or parameters associated with the security protocol commands. Status and data that is to be returned to the host for the security protocol commands submitted by a Security Send command are retrieved with the Security Receive command.

The association between a Security Send command and subsequent Security Receive command is Security Protocol field dependent as defined in SPC-4.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Target a specific namespace for this security command.

-N <nssf>
--nssf=<nssf>

NVMe Security Specific field. If using security protocol EAh assigned for NVMe use, the NVMe security specific field indicates which reply memory buffer target.

-f <file>
--file=<file>

Path to file used as the security protocol’s payload. Required argument.

-p <security-protocol>
--secp=<security-protocol>

Security Protocol: This field specifies the security protocol as defined in SPC-4. The controller shall fail the command with Invalid Parameter indicated if a reserved value of the Security Protocol is specified.

-s <security-protocol-specific>
--spsp=<security-protocol-specific>

SP Specific: The value of this field is specific to the Security Protocol as defined in SPC-4.

-t <trans-length>
--tl=<trans-length>

Transfer Length: The value of this field is specific to the Security Protocol as defined in SPC-4.

EXAMPLES

No Examples

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-security-send.txt000066400000000000000000000042451352532746300222270ustar00rootroot00000000000000nvme-security-send(1) ===================== NAME ---- nvme-security-send - Security Send command SYNOPSIS -------- [verse] 'nvme security-send' [--file= | -f ] [--secp= | -p ] [--spsp= | -s ] [--tl= | -t ] [--nssf= | -N ] [--namespace-id= | -n ] DESCRIPTION ----------- The Security Send command is used to transfer security protocol data to the controller. The data structure transferred to the controller as part of this command contains security protocol specific commands to be performed by the controller. The data structure transferred may also contain data or parameters associated with the security protocol commands. Status and data that is to be returned to the host for the security protocol commands submitted by a Security Send command are retrieved with the Security Receive command. The association between a Security Send command and subsequent Security Receive command is Security Protocol field dependent as defined in SPC-4. OPTIONS ------- -n :: --namespace-id=:: Target a specific namespace for this security command. -N :: --nssf=:: NVMe Security Specific field. If using security protocol EAh assigned for NVMe use, the NVMe security specific field indicates which reply memory buffer target. -f :: --file=:: Path to file used as the security protocol's payload. Required argument. -p :: --secp=:: Security Protocol: This field specifies the security protocol as defined in SPC-4. The controller shall fail the command with Invalid Parameter indicated if a reserved value of the Security Protocol is specified. -s :: --spsp=:: SP Specific: The value of this field is specific to the Security Protocol as defined in SPC-4. -t :: --tl=:: Transfer Length: The value of this field is specific to the Security Protocol as defined in SPC-4. EXAMPLES -------- No Examples NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-self-test-log.1000066400000000000000000000057011352532746300214350ustar00rootroot00000000000000'\" t .\" Title: nvme-self-test-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-SELF\-TEST\-LO" "1" "04/08/2019" "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-self-test-log \- Retrieve the log information initited by device\-self\-test and display it .SH "SYNOPSIS" .sp .nf \fInvme self\-test\fR\-log [\-\-output\-format= | \-o ] .fi .SH "DESCRIPTION" .sp Retrieves the log pages from an NVMe device corresponding to the requested self\-test by the user and provides 20\-most recent result returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned 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 or the raw buffer or the json format\&. .sp By default the log is printed out in the normal readable format\&. .SH "OPTION" .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Get the self\-test\-log and print it in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme self\-test\-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 output to a file: .sp .if n \{\ .RS 4 .\} .nf # nvme self\-test\-log /dev/nvme0 \-o "binary" .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Get the self\-test\-log and print it in a json format: .sp .if n \{\ .RS 4 .\} .nf # nvme self\-test\-log /dev/nvme0 \-o "json" .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-self-test-log.html000066400000000000000000000452241352532746300222450ustar00rootroot00000000000000 nvme-self-test-log(1)

SYNOPSIS

nvme self-test-log <device> [--output-format=<FMT> | -o <FMT>]

DESCRIPTION

Retrieves the log pages from an NVMe device corresponding to the requested self-test by the user and provides 20-most recent result 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 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 or the raw buffer or the json format.

By default the log is printed out in the normal readable format.

OPTION

-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

  • Get the self-test-log and print it in a human readable format:

    # nvme self-test-log /dev/nvme0
  • Print the raw output to a file:

    # nvme self-test-log /dev/nvme0 -o "binary"
  • Get the self-test-log and print it in a json format:

    # nvme self-test-log /dev/nvme0 -o "json"

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-self-test-log.txt000066400000000000000000000026731352532746300221210ustar00rootroot00000000000000nvme-self-test-log(1) ===================== NAME ---- nvme-self-test-log - Retrieve the log information initited by device-self-test and display it SYNOPSIS -------- [verse] 'nvme self-test'-log [--output-format= | -o ] DESCRIPTION ----------- Retrieves the log pages from an NVMe device corresponding to the requested self-test by the user and provides 20-most recent result returned structure. The 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 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 or the raw buffer or the json format. By default the log is printed out in the normal readable format. OPTION ------- -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- * Get the self-test-log and print it in a human readable format: + ------------ # nvme self-test-log /dev/nvme0 ------------ + * Print the raw output to a file: + ------------ # nvme self-test-log /dev/nvme0 -o "binary" ------------ + * Get the self-test-log and print it in a json format: + ------------ # nvme self-test-log /dev/nvme0 -o "json" ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-set-feature.1000066400000000000000000000071441352532746300211770ustar00rootroot00000000000000'\" t .\" Title: nvme-set-feature .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-SET\-FEATURE" "1" "01/08/2019" "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-set-feature \- Sets an NVMe feature, returns applicable results .SH "SYNOPSIS" .sp .nf \fInvme set\-feature\fR [\-\-namespace\-id= | \-n ] [\-\-feature\-id= | \-f ] [\-\-value= | \-v ] [\-\-data\-len= | \-l ] [\-\-data= | \-d ] [\-\-save| \-s] .fi .SH "DESCRIPTION" .sp Submits an NVMe Set Feature admin command and returns the applicable results\&. This may be the feature\(cqs value, or may also include a feature structure if the feature requires it (ex: LBA Range Type)\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the value sent to the device is displayed .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Sets the feature for the given nsid\&. This is optional and most features do not use this value\&. .RE .PP \-f , \-\-feature\-id= .RS 4 The feature id to send with the command\&. Value provided should be in hex\&. .RE .PP \-l , \-\-data\-len= .RS 4 The data length for the buffer submitted for this feature\&. Most known features do not use this value\&. The exceptions are LBA Range Type and host identifier\&. .RE .PP \-d , \-\-data= .RS 4 The data file for the buffer submitted for this feature\&. Most known features do not use this value\&. The exceptions is LBA Range Type and host identifier\&. This defaults to STDIN so files and echo can be piped\&. .RE .PP \-v , \-\-value= .RS 4 The value for command dword 11, the value you want to set the feature to\&. .RE .PP \-s, \-\-save .RS 4 Save the attribute so that it persists through all power states and resets\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Sets the Power State (PS) to 1 in feature id 2: .sp .if n \{\ .RS 4 .\} .nf # nvme set\-feature /dev/nvme0 \-f 2 /dev/nvme0n1 \-v 0x1 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Sets the host id to the ascii string\&. .sp .if n \{\ .RS 4 .\} .nf # echo "abcdefgh" | nvme set\-feature /dev/nvme0 \-f 0x81 \-l 8 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-set-feature.html000066400000000000000000000474071352532746300220110ustar00rootroot00000000000000 nvme-set-feature(1)

SYNOPSIS

nvme set-feature <device> [--namespace-id=<nsid> | -n <nsid>]
                          [--feature-id=<fid> | -f <fid>] [--value=<value> | -v <value>]
                          [--data-len=<data-len> | -l <data-len>]
                          [--data=<data-file> | -d <data-file>]
                          [--save| -s]

DESCRIPTION

Submits an NVMe Set Feature admin command and returns the applicable results. This may be the feature’s value, or may also include a feature structure if the feature requires it (ex: LBA Range Type).

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 value sent to the device is displayed

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Sets the feature for the given nsid. This is optional and most features do not use this value.

-f <fid>
--feature-id=<fid>

The feature id to send with the command. Value provided should be in hex.

-l <data-len>
--data-len=<data-len>

The data length for the buffer submitted for this feature. Most known features do not use this value. The exceptions are LBA Range Type and host identifier.

-d <data-file>
--data=<data-file>

The data file for the buffer submitted for this feature. Most known features do not use this value. The exceptions is LBA Range Type and host identifier. This defaults to STDIN so files and echo can be piped.

-v <value>
--value=<value>

The value for command dword 11, the value you want to set the feature to.

-s
--save

Save the attribute so that it persists through all power states and resets.

EXAMPLES

  • Sets the Power State (PS) to 1 in feature id 2:

    # nvme set-feature /dev/nvme0 -f 2 /dev/nvme0n1 -v 0x1
  • Sets the host id to the ascii string.

    # echo "abcdefgh" | nvme set-feature /dev/nvme0 -f 0x81 -l 8

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-set-feature.txt000066400000000000000000000040001352532746300216420ustar00rootroot00000000000000nvme-set-feature(1) =================== NAME ---- nvme-set-feature - Sets an NVMe feature, returns applicable results SYNOPSIS -------- [verse] 'nvme set-feature' [--namespace-id= | -n ] [--feature-id= | -f ] [--value= | -v ] [--data-len= | -l ] [--data= | -d ] [--save| -s] DESCRIPTION ----------- Submits an NVMe Set Feature admin command and returns the applicable results. This may be the feature's value, or may also include a feature structure if the feature requires it (ex: LBA Range Type). The 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 value sent to the device is displayed OPTIONS ------- -n :: --namespace-id=:: Sets the feature for the given nsid. This is optional and most features do not use this value. -f :: --feature-id=:: The feature id to send with the command. Value provided should be in hex. -l :: --data-len=:: The data length for the buffer submitted for this feature. Most known features do not use this value. The exceptions are LBA Range Type and host identifier. -d :: --data=:: The data file for the buffer submitted for this feature. Most known features do not use this value. The exceptions is LBA Range Type and host identifier. This defaults to STDIN so files and echo can be piped. -v :: --value=:: The value for command dword 11, the value you want to set the feature to. -s:: --save:: Save the attribute so that it persists through all power states and resets. EXAMPLES -------- * Sets the Power State (PS) to 1 in feature id 2: + ------------ # nvme set-feature /dev/nvme0 -f 2 /dev/nvme0n1 -v 0x1 ------------ + * Sets the host id to the ascii string. + ------------ # echo "abcdefgh" | nvme set-feature /dev/nvme0 -f 0x81 -l 8 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-set-property.1000066400000000000000000000034611352532746300214260ustar00rootroot00000000000000'\" t .\" Title: nvme-set-property .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-SET\-PROPERTY" "1" "01/08/2019" "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-set-property \- Writes and shows the defined NVMe controller property for NVMe ove Fabric .SH "SYNOPSIS" .sp .nf \fInvme set\-property\fR [\-\-offset= | \-o ] [\-\-value= | \-v ] .fi .SH "DESCRIPTION" .sp Writes and shows the defined NVMe controller property for NVMe ove Fabric\&. .SH "OPTIONS" .PP \-o, \-\-offset .RS 4 The offset of the property\&. .RE .PP \-v .RS 4 \-\-value: The value of the property to be set\&. .RE .SH "EXAMPLES" .sp No examples (yet)\&. .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-set-property.html000066400000000000000000000427461352532746300222430ustar00rootroot00000000000000 nvme-set-property(1)

SYNOPSIS

nvme set-property <device> [--offset=<offset> | -o <offset>]
                                [--value=<val> | -v <val>]

DESCRIPTION

Writes and shows the defined NVMe controller property for NVMe ove Fabric.

OPTIONS

-o
--offset

The offset of the property.

-v

--value: The value of the property to be set.

EXAMPLES

No examples (yet).

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-set-property.txt000066400000000000000000000010701352532746300220770ustar00rootroot00000000000000nvme-set-property(1) ==================== NAME ---- nvme-set-property - Writes and shows the defined NVMe controller property for NVMe ove Fabric SYNOPSIS -------- [verse] 'nvme set-property' [--offset= | -o ] [--value= | -v ] DESCRIPTION ----------- Writes and shows the defined NVMe controller property for NVMe ove Fabric. OPTIONS ------- -o:: --offset:: The offset of the property. -v:: --value: The value of the property to be set. EXAMPLES -------- No examples (yet). NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-show-regs.1000066400000000000000000000065611352532746300206730ustar00rootroot00000000000000'\" t .\" Title: nvme-id-ns .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/15/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-ID\-NS" "1" "04/15/2019" "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-show-regs \- Reads and shows the defined NVMe controller registers for NVMe over PCIe or the controller properties for NVMe over Fabrics\&. .SH "SYNOPSIS" .sp .nf \fInvme show\-regs\fR [\-\-human\-readable | \-H] [\-\-output\-format= | \-o ] .fi .SH "DESCRIPTION" .sp For the NVMe over PCIe device given, sends an identify namespace command and provides the result and returned structure\&. For the NVMe over Fabrics device given, sends a fabric command and provides the result and returned structure\&. .sp The parameter is mandatory and must be the nvme admin character device (ex: /dev/nvme0)\&. For NVMe over PCIe, the program uses knowledge of the sysfs layout to map the device to the pci resource stored there and mmaps the memory to get access to the registers\&. For NVMe over Fabrics, the programs sends a fabric command to get the properties of the target NVMe controller\&. Only the supported properties are displayed\&. .SH "OPTIONS" .PP \-H, \-\-human\-readable .RS 4 Display registers or supported properties in human readable format\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Show the NVMe over PCIe controller registers or the NVMe over Fabric controller properties in a binary format: .sp .if n \{\ .RS 4 .\} .nf # nvme show\-regs /dev/nvme0 \-o binary .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 NVMe over PCIe controller registers or the NVMe over Fabric controller properties in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme show\-regs /dev/nvme0 \-H .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 NVMe over PCIe controller registers or NVMe\-oF controller properties in a json format: .sp .if n \{\ .RS 4 .\} .nf # nvme show\-regs /dev/nvme0 \-o json .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-show-regs.html000066400000000000000000000462711352532746300215010ustar00rootroot00000000000000 nvme-id-ns(1)

SYNOPSIS

nvme show-regs <device>       [--human-readable | -H]
                                [--output-format=<FMT> | -o <FMT>]

DESCRIPTION

For the NVMe over PCIe device given, sends an identify namespace command and provides the result and returned structure. For the NVMe over Fabrics device given, sends a fabric command and provides the result and returned structure.

The <device> parameter is mandatory and must be the nvme admin character device (ex: /dev/nvme0). For NVMe over PCIe, the program uses knowledge of the sysfs layout to map the device to the pci resource stored there and mmaps the memory to get access to the registers. For NVMe over Fabrics, the programs sends a fabric command to get the properties of the target NVMe controller. Only the supported properties are displayed.

OPTIONS

-H
--human-readable

Display registers or supported properties in human readable format.

-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

  • Show the NVMe over PCIe controller registers or the NVMe over Fabric controller properties in a binary format:

    # nvme show-regs /dev/nvme0 -o binary
  • Show the NVMe over PCIe controller registers or the NVMe over Fabric controller properties in a human readable format:

    # nvme show-regs /dev/nvme0 -H
  • Show the NVMe over PCIe controller registers or NVMe-oF controller properties in a json format:

    # nvme show-regs /dev/nvme0 -o json

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-show-regs.txt000066400000000000000000000034731352532746300213510ustar00rootroot00000000000000nvme-id-ns(1) ============= NAME ---- nvme-show-regs - Reads and shows the defined NVMe controller registers for NVMe over PCIe or the controller properties for NVMe over Fabrics. SYNOPSIS -------- [verse] 'nvme show-regs' [--human-readable | -H] [--output-format= | -o ] DESCRIPTION ----------- For the NVMe over PCIe device given, sends an identify namespace command and provides the result and returned structure. For the NVMe over Fabrics device given, sends a fabric command and provides the result and returned structure. The parameter is mandatory and must be the nvme admin character device (ex: /dev/nvme0). For NVMe over PCIe, the program uses knowledge of the sysfs layout to map the device to the pci resource stored there and mmaps the memory to get access to the registers. For NVMe over Fabrics, the programs sends a fabric command to get the properties of the target NVMe controller. Only the supported properties are displayed. OPTIONS ------- -H:: --human-readable:: Display registers or supported properties in human readable format. -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- * Show the NVMe over PCIe controller registers or the NVMe over Fabric controller properties in a binary format: + ------------ # nvme show-regs /dev/nvme0 -o binary ------------ * Show the NVMe over PCIe controller registers or the NVMe over Fabric controller properties in a human readable format: + ------------ # nvme show-regs /dev/nvme0 -H ------------ * Show the NVMe over PCIe controller registers or NVMe-oF controller properties in a json format: + ------------ # nvme show-regs /dev/nvme0 -o json ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-smart-log.1000066400000000000000000000063061352532746300206570ustar00rootroot00000000000000'\" t .\" Title: nvme-smart-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-SMART\-LOG" "1" "04/08/2019" "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-smart-log \- Send NVMe SMART log page request, returns result and log .SH "SYNOPSIS" .sp .nf \fInvme smart\-log\fR [\-\-namespace\-id= | \-n ] [\-\-raw\-binary | \-b] [\-\-output\-format= | \-o ] .fi .SH "DESCRIPTION" .sp Retrieves the NVMe SMART log page from an NVMe device and provides the returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned smart 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 or the raw buffer may be printed to stdout for another program to parse\&. .SH "OPTIONS" .PP \-n , \-\-namespace\-id= .RS 4 Retrieve the SMART log for the given nsid\&. This is optional and its success may depend on the device\(cqs capabilities to provide this log on a per\-namespace basis (see the NVMe Identify Controller for this capability)\&. The default nsid to use is 0xffffffff for the device global SMART log\&. .RE .PP \-b, \-\-raw\-binary .RS 4 Print the raw SMART log buffer to stdout\&. .RE .PP \-o , \-\-output\-format= .RS 4 Set the reporting format to \fInormal\fR, \fIjson\fR, or \fIbinary\fR\&. Only one output format can be used at a time\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Print the SMART log page in a human readable format: .sp .if n \{\ .RS 4 .\} .nf # nvme smart\-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 SMART log to a file: .sp .if n \{\ .RS 4 .\} .nf # nvme smart\-log /dev/nvme0 \-\-raw\-binary > smart_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 nvme-cli-1.9/Documentation/nvme-smart-log.html000066400000000000000000000461711352532746300214670ustar00rootroot00000000000000 nvme-smart-log(1)

SYNOPSIS

nvme smart-log <device> [--namespace-id=<nsid> | -n <nsid>]
                        [--raw-binary | -b]
                        [--output-format=<fmt> | -o <fmt>]

DESCRIPTION

Retrieves the NVMe SMART 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 smart 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 or the raw buffer may be printed to stdout for another program to parse.

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Retrieve the SMART log for the given nsid. This is optional and its success may depend on the device’s capabilities to provide this log on a per-namespace basis (see the NVMe Identify Controller for this capability). The default nsid to use is 0xffffffff for the device global SMART log.

-b
--raw-binary

Print the raw SMART log buffer to stdout.

-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 SMART log page in a human readable format:

    # nvme smart-log /dev/nvme0
  • Print the raw SMART log to a file:

    # nvme smart-log /dev/nvme0 --raw-binary > smart_log.raw

    It is probably a bad idea to not redirect stdout when using this mode.

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-smart-log.txt000066400000000000000000000033241352532746300213330ustar00rootroot00000000000000nvme-smart-log(1) ================= NAME ---- nvme-smart-log - Send NVMe SMART log page request, returns result and log SYNOPSIS -------- [verse] 'nvme smart-log' [--namespace-id= | -n ] [--raw-binary | -b] [--output-format= | -o ] DESCRIPTION ----------- Retrieves the NVMe SMART log page from an NVMe device and provides the returned structure. The 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 smart 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 or the raw buffer may be printed to stdout for another program to parse. OPTIONS ------- -n :: --namespace-id=:: Retrieve the SMART log for the given nsid. This is optional and its success may depend on the device's capabilities to provide this log on a per-namespace basis (see the NVMe Identify Controller for this capability). The default nsid to use is 0xffffffff for the device global SMART log. -b:: --raw-binary:: Print the raw SMART log buffer to stdout. -o :: --output-format=:: Set the reporting format to 'normal', 'json', or 'binary'. Only one output format can be used at a time. EXAMPLES -------- * Print the SMART log page in a human readable format: + ------------ # nvme smart-log /dev/nvme0 ------------ + * Print the raw SMART log to a file: + ------------ # nvme smart-log /dev/nvme0 --raw-binary > smart_log.raw ------------ + It is probably a bad idea to not redirect stdout when using this mode. NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-subsystem-reset.1000066400000000000000000000034051352532746300221250ustar00rootroot00000000000000'\" t .\" Title: nvme-subsystem-reset .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-SUBSYSTEM\-RES" "1" "01/08/2019" "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-subsystem-reset \- Reset the nvme subsystem\&. .SH "SYNOPSIS" .sp .nf \fInvme subsystem\-reset\fR .fi .SH "DESCRIPTION" .sp Requests NVMe subsystem reset\&. The param is mandatory and must be an NVMe character device (ex: /dev/nvme0)\&. .SH "OPTIONS" .sp None .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Resets the subsystem\&. .sp .if n \{\ .RS 4 .\} .nf # nvme subsystem\-reset /dev/nvme0 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-subsystem-reset.html000066400000000000000000000424461352532746300227410ustar00rootroot00000000000000 nvme-subsystem-reset(1)

SYNOPSIS

nvme subsystem-reset <device>

DESCRIPTION

Requests NVMe subsystem reset. The <device> param is mandatory and must be an NVMe character device (ex: /dev/nvme0).

OPTIONS

None

EXAMPLES

  • Resets the subsystem.

    # nvme subsystem-reset /dev/nvme0

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-subsystem-reset.txt000066400000000000000000000007341352532746300226060ustar00rootroot00000000000000nvme-subsystem-reset(1) ======================= NAME ---- nvme-subsystem-reset - Reset the nvme subsystem. SYNOPSIS -------- [verse] 'nvme subsystem-reset' DESCRIPTION ----------- Requests NVMe subsystem reset. The param is mandatory and must be an NVMe character device (ex: /dev/nvme0). OPTIONS ------- None EXAMPLES -------- * Resets the subsystem. + ------------ # nvme subsystem-reset /dev/nvme0 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-telemetry-log.1000066400000000000000000000055321352532746300215430ustar00rootroot00000000000000'\" t .\" Title: nvme-telemetry-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-TELEMETRY\-LOG" "1" "04/08/2019" "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-telemetry-log \- Retrieves a Telemetry Host\-Initiated log page from an NVMe device .SH "SYNOPSIS" .sp .nf \fInvme telemetry\-log\fR [\-\-output\-file= | \-o ] [\-\-host\-generate= | \-g ] .fi .SH "DESCRIPTION" .sp Retrieves an Telemetry Host\-Initiated log page from an NVMe device and provides the returned structure\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the returned log structure will be in raw binary format \fIonly\fR with \-\-output\-file option which is mandatory\&. .SH "OPTIONS" .PP \-o , \-\-output\-file= .RS 4 File name to which raw binary data will be saved to\&. .RE .PP \-g , \-\-host\-generate= .RS 4 If set to 1, controller shall capture the Telemetry Host\-Initiated data representing the internal state of the controller at the time the associated Get Log Page command is processed\&. If cleated to 0, controller shall \fInot\fR update this data\&. .RE .PP \-d , \-\-data\-area= .RS 4 Retrieves the specific data area requested\&. Valid inputs are 1,2,3\&. If this option is not specified, the default value is 3, since that will always give the user all three data areas\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Retrieve Telemetry Host\-Initiated data to telemetry_log\&.bin .sp .if n \{\ .RS 4 .\} .nf # nvme telemetry\-log /dev/nvme0 \-\-output\-file=telemetry_log\&.bin .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-telemetry-log.html000066400000000000000000000453601352532746300223520ustar00rootroot00000000000000 nvme-telemetry-log(1)

SYNOPSIS

nvme telemetry-log <device> [--output-file=<file> | -o <file>]
                      [--host-generate=<gen> | -g <gen>]

DESCRIPTION

Retrieves an Telemetry Host-Initiated 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 log structure will be in raw binary format only with --output-file option which is mandatory.

OPTIONS

-o <file>
--output-file=<file>

File name to which raw binary data will be saved to.

-g <gen>
--host-generate=<gen>

If set to 1, controller shall capture the Telemetry Host-Initiated data representing the internal state of the controller at the time the associated Get Log Page command is processed. If cleated to 0, controller shall not update this data.

-d <da>
--data-area=<da>

Retrieves the specific data area requested. Valid inputs are 1,2,3. If this option is not specified, the default value is 3, since that will always give the user all three data areas.

EXAMPLES

  • Retrieve Telemetry Host-Initiated data to telemetry_log.bin

    # nvme telemetry-log /dev/nvme0 --output-file=telemetry_log.bin

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-telemetry-log.txt000066400000000000000000000027241352532746300222220ustar00rootroot00000000000000nvme-telemetry-log(1) ===================== NAME ---- nvme-telemetry-log - Retrieves a Telemetry Host-Initiated log page from an NVMe device SYNOPSIS -------- [verse] 'nvme telemetry-log' [--output-file= | -o ] [--host-generate= | -g ] DESCRIPTION ----------- Retrieves an Telemetry Host-Initiated log page from an NVMe device and provides the returned structure. The 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 log structure will be in raw binary format _only_ with --output-file option which is mandatory. OPTIONS ------- -o :: --output-file=:: File name to which raw binary data will be saved to. -g :: --host-generate=:: If set to 1, controller shall capture the Telemetry Host-Initiated data representing the internal state of the controller at the time the associated Get Log Page command is processed. If cleated to 0, controller shall _not_ update this data. -d :: --data-area=:: Retrieves the specific data area requested. Valid inputs are 1,2,3. If this option is not specified, the default value is 3, since that will always give the user all three data areas. EXAMPLES -------- * Retrieve Telemetry Host-Initiated data to telemetry_log.bin + ------------ # nvme telemetry-log /dev/nvme0 --output-file=telemetry_log.bin ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-toshiba-clear-pcie-correctable-errors.1000066400000000000000000000037531352532746300262050ustar00rootroot00000000000000'\" t .\" Title: nvme-toshiba-clear-pcie-correctable-errors .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-TOSHIBA\-CLEAR" "1" "01/08/2019" "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-toshiba-clear-pcie-correctable-errors \- Reset the PCIe correctable errors count to zero\&. .SH "SYNOPSIS" .sp .nf \*(Aqnvme toshiba clear\-pcie\-correctable\-errors \*(Aq .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends the Toshiba clear PCIe correctable errors request\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Clear the PCIe correctable errors count: .sp .if n \{\ .RS 4 .\} .nf # nvme toshiba clear\-pcie\-correctable\-errors /dev/nvme0 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-toshiba-clear-pcie-correctable-errors.html000066400000000000000000000430061352532746300270040ustar00rootroot00000000000000 nvme-toshiba-clear-pcie-correctable-errors(1)

SYNOPSIS

'nvme toshiba clear-pcie-correctable-errors ' <device>

DESCRIPTION

For the NVMe device given, sends the Toshiba clear PCIe correctable errors request.

The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).

EXAMPLES

  • Clear the PCIe correctable errors count:

    # nvme toshiba clear-pcie-correctable-errors /dev/nvme0

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-toshiba-clear-pcie-correctable-errors.txt000066400000000000000000000013241352532746300266540ustar00rootroot00000000000000nvme-toshiba-clear-pcie-correctable-errors(1) ============================================= NAME ---- nvme-toshiba-clear-pcie-correctable-errors - Reset the PCIe correctable errors count to zero. SYNOPSIS -------- [verse] 'nvme toshiba clear-pcie-correctable-errors ' DESCRIPTION ----------- For the NVMe device given, sends the Toshiba clear PCIe correctable errors request. The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). EXAMPLES -------- * Clear the PCIe correctable errors count: + ------------ # nvme toshiba clear-pcie-correctable-errors /dev/nvme0 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-toshiba-vs-internal-log.1000066400000000000000000000061241352532746300234200ustar00rootroot00000000000000'\" t .\" Title: nvme-toshiba-vs-internal-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-TOSHIBA\-VS\-I" "1" "01/08/2019" "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-toshiba-vs-internal-log \- Retrieve a Toshiba device\*(Aqs vendor specific internal log and either save to file or dump the contents\&. .SH "SYNOPSIS" .sp .nf \*(Aqnvme toshiba vs\-internal\-log \*(Aq [\-\-output\-file=, \-o ] (optional) [\-\-saved\-log, \-s] (optional) .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends the Toshiba internal device log request and either saves the result to a file or dumps the content to stdout\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp The log is associated with the controller rather than any namespaces\&. .sp Two logs exist, the current log and the previous log\&. .sp This will only work on Toshiba devices supporting this feature\&. .sp Note: The logs are quite large \- typically 100\(cqs of MB\&. This command can take several minutes to complete\&. A progress runner is included when data is written to file and a page count is included in the stdout dump\&. .SH "OPTIONS" .PP \-o , \-\-output\-file= .RS 4 Output binary file\&. Defaults to text\-formatted dump to stdout .RE .PP \-p, \-\-prev\-log .RS 4 Use previous log contents\&. Defaults to the current log contents\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Get the current log from the device and dump it to stdout: .sp .if n \{\ .RS 4 .\} .nf # nvme toshiba internal\-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 .\} Get the previous log from the device and save to a binary file: .sp .if n \{\ .RS 4 .\} .nf # nvme toshiba internal\-log /dev/nvme0 \-\-output\-file=log\&.bin \-\-prev\-log .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-toshiba-vs-internal-log.html000066400000000000000000000457321352532746300242340ustar00rootroot00000000000000 nvme-toshiba-vs-internal-log(1)

SYNOPSIS

'nvme toshiba vs-internal-log ' <device>
                [--output-file=<FILE>, -o <FILE>] (optional)
                [--saved-log, -s] (optional)

DESCRIPTION

For the NVMe device given, sends the Toshiba internal device log request and either saves the result to a file or dumps the content to stdout.

The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).

The log is associated with the controller rather than any namespaces.

Two logs exist, the current log and the previous log.

This will only work on Toshiba devices supporting this feature.

Note: The logs are quite large - typically 100’s of MB. This command can take several minutes to complete. A progress runner is included when data is written to file and a page count is included in the stdout dump.

OPTIONS

-o <FILE>
--output-file=<FILE>

Output binary file. Defaults to text-formatted dump to stdout

-p
--prev-log

Use previous log contents. Defaults to the current log contents.

EXAMPLES

  • Get the current log from the device and dump it to stdout:

    # nvme toshiba internal-log /dev/nvme0
  • Get the previous log from the device and save to a binary file:

    # nvme toshiba internal-log /dev/nvme0 --output-file=log.bin --prev-log

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-toshiba-vs-internal-log.txt000066400000000000000000000031461352532746300241000ustar00rootroot00000000000000nvme-toshiba-vs-internal-log(1) =============================== NAME ---- nvme-toshiba-vs-internal-log - Retrieve a Toshiba device's vendor specific internal log and either save to file or dump the contents. SYNOPSIS -------- [verse] 'nvme toshiba vs-internal-log ' [--output-file=, -o ] (optional) [--saved-log, -s] (optional) DESCRIPTION ----------- For the NVMe device given, sends the Toshiba internal device log request and either saves the result to a file or dumps the content to stdout. The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). The log is associated with the controller rather than any namespaces. Two logs exist, the current log and the previous log. This will only work on Toshiba devices supporting this feature. Note: The logs are quite large - typically 100's of MB. This command can take several minutes to complete. A progress runner is included when data is written to file and a page count is included in the stdout dump. OPTIONS ------- -o :: --output-file=:: Output binary file. Defaults to text-formatted dump to stdout -p:: --prev-log:: Use previous log contents. Defaults to the current log contents. EXAMPLES -------- * Get the current log from the device and dump it to stdout: + ------------ # nvme toshiba internal-log /dev/nvme0 ------------ + * Get the previous log from the device and save to a binary file: + ------------ # nvme toshiba internal-log /dev/nvme0 --output-file=log.bin --prev-log ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-toshiba-vs-smart-add-log.1000066400000000000000000000057651352532746300234720ustar00rootroot00000000000000'\" t .\" Title: nvme-toshiba-vs-smart-add-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-TOSHIBA\-VS\-S" "1" "01/08/2019" "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-toshiba-vs-smart-add-log \- Retrieve a Toshiba device\*(Aqs vendor specific extended SMART log page contents and either save to file or dump the contents\&. .SH "SYNOPSIS" .sp .nf \*(Aqnvme toshiba vs\-smart\-add\-log \*(Aq [\-\-log=, \-l ] [\-\-namespace\-id=, \-n ] [\-\-output\-file=, \-o ] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends the Toshiba vendor log request and either saves the result to a file or dumps the content to stdout\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp The log contents may be associated with the controller, in which case the namespace parameter is ignored\&. .sp Two logs exist, page 0xC0 (log page directory) and page 0xCA (vendor log page) .sp This will only work on Toshiba devices supporting this feature\&. .SH "OPTIONS" .PP \-l , \-\-log= .RS 4 Log page: 0xC0 or 0xCA (defaults to 0xCA) .RE .PP \-n , \-\-namespace\-id=, \-o , \-\-output\-file= .RS 4 Output binary file\&. Defaults to text\-formatted dump to stdout .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Get the current log from the device and dumps it to stdout: .sp .if n \{\ .RS 4 .\} .nf # nvme toshiba vs\-smart\-add\-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 .\} Get the contents of log page 0xC0 from the device and save to a binary file: .sp .if n \{\ .RS 4 .\} .nf # nvme toshiba vs\-smart\-add\-log /dev/nvme0 \-\-output\-file=log\&.bin \-\-log=0xC0 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-toshiba-vs-smart-add-log.html000066400000000000000000000457041352532746300242730ustar00rootroot00000000000000 nvme-toshiba-vs-smart-add-log(1)

SYNOPSIS

'nvme toshiba vs-smart-add-log ' <device> [--log=<NUM>, -l <NUM>]
                [--namespace-id=<NUM>, -n <NUM>]
                [--output-file=<FILE>, -o <FILE>]

DESCRIPTION

For the NVMe device given, sends the Toshiba vendor log request and either saves the result to a file or dumps the content to stdout.

The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).

The log contents may be associated with the controller, in which case the namespace parameter is ignored.

Two logs exist, page 0xC0 (log page directory) and page 0xCA (vendor log page)

This will only work on Toshiba devices supporting this feature.

OPTIONS

-l <NUM>
--log=<NUM>

Log page: 0xC0 or 0xCA (defaults to 0xCA)

-n <NUM>
--namespace-id=<NUM>
-o <FILE>
--output-file=<FILE>

Output binary file. Defaults to text-formatted dump to stdout

EXAMPLES

  • Get the current log from the device and dumps it to stdout:

    # nvme toshiba vs-smart-add-log /dev/nvme0
  • Get the contents of log page 0xC0 from the device and save to a binary file:

    # nvme toshiba vs-smart-add-log /dev/nvme0 --output-file=log.bin --log=0xC0

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-toshiba-vs-smart-add-log.txt000066400000000000000000000030251352532746300241340ustar00rootroot00000000000000nvme-toshiba-vs-smart-add-log(1) ================================ NAME ---- nvme-toshiba-vs-smart-add-log - Retrieve a Toshiba device's vendor specific extended SMART log page contents and either save to file or dump the contents. SYNOPSIS -------- [verse] 'nvme toshiba vs-smart-add-log ' [--log=, -l ] [--namespace-id=, -n ] [--output-file=, -o ] DESCRIPTION ----------- For the NVMe device given, sends the Toshiba vendor log request and either saves the result to a file or dumps the content to stdout. The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). The log contents may be associated with the controller, in which case the namespace parameter is ignored. Two logs exist, page 0xC0 (log page directory) and page 0xCA (vendor log page) This will only work on Toshiba devices supporting this feature. OPTIONS ------- -l :: --log=:: Log page: 0xC0 or 0xCA (defaults to 0xCA) -n :: --namespace-id=:: -o :: --output-file=:: Output binary file. Defaults to text-formatted dump to stdout EXAMPLES -------- * Get the current log from the device and dumps it to stdout: + ------------ # nvme toshiba vs-smart-add-log /dev/nvme0 ------------ + * Get the contents of log page 0xC0 from the device and save to a binary file: + ------------ # nvme toshiba vs-smart-add-log /dev/nvme0 --output-file=log.bin --log=0xC0 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-virtium-save-smart-to-vtview-log.1000066400000000000000000000106351352532746300252520ustar00rootroot00000000000000'\" t .\" Title: nvme-virtium-save-smart-to-vtview-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 05/22/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-VIRTIUM\-SAVE\" "1" "05/22/2019" "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-virtium-save-smart-to-vtview-log \- Periodically save smart attributes into a log file (csv format)\&. .SH "SYNOPSIS" .sp .nf \fInvme virtium save\-smart\-to\-vtview\-log\fR [\-\-run\-time= | \-r ] [\-\-freq= | \-f ] [\-\-output\-file= | \-o ] [\-\-test\-name= | \-n ] .fi .SH "DESCRIPTION" .sp This command automates the process of collecting SMART data periodically and saving the data in a ready\-to\-analyze format\&. Each entry is saved with timestamp and in csv format\&. Users can use excel to analyze the data\&. Some examples of use cases are collecting SMART data for temperature characterization, collecting data to calculate endurance, or collecting SMART data during a test or during normal operation\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the command generates a log file, which contains an entry for identify device (current features & settings) and periodic entries of SMART data\&. .sp This command runs for the time specified by the option , and collects SMART data at the frequency specified by the option \&. If the output file name is not specified, this command will generate a file name that include model string and serial number of the device\&. .sp If the test\-name option is specified, it will be recorded in the log file and be used as part of the log file name\&. .SH "OPTIONS" .PP \-r , \-\-run\-tim= .RS 4 (optional) Number of hours to log data (default = 20 hours) .RE .PP \-f , \-\-freq= .RS 4 (optional) How often you want to log SMART data (0\&.25 = 15\*(Aq , 0\&.5 = 30\*(Aq , 1 = 1 hour, 2 = 2 hours, etc\&.)\&. Default = 10 hours\&. .RE .PP \-o , \-\-output\-file= .RS 4 (optional) Name of the log file (give it a name that easy for you to remember what the test is)\&. You can leave it blank too, the file name will be generated as \-\-\&.txt\&. .RE .PP \-n , \-\-test\-name= .RS 4 (optional) Name of the test you are doing\&. We use this string as part of the name of the log file\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Temperature characterization: .sp .if n \{\ .RS 4 .\} .nf # nvme virtium save\-smart\-to\-vtview\-log /dev/yourDevice \-\-run\-time=100 \-\-record\-frequency=0\&.25 \-\-test\-name=burn\-in\-at\-(\-40) .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Endurance testing: .sp .if n \{\ .RS 4 .\} .nf # nvme virtium save\-smart\-to\-vtview\-log /dev/yourDevice \-\-run\-time=100 \-\-record\-frequency=1 \-\-test\-name=Endurance\-test\-JEDEG\-219\-workload .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Just logging: Default logging is run for 20 hours and log every 10 hours\&. .sp .if n \{\ .RS 4 .\} .nf # nvme virtium save\-smart\-to\-vtview\-log /dev/yourDevice .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-virtium-save-smart-to-vtview-log.html000066400000000000000000000506301352532746300260550ustar00rootroot00000000000000 nvme-virtium-save-smart-to-vtview-log(1)

SYNOPSIS

nvme virtium save-smart-to-vtview-log <device> [--run-time=<NUM> | -r <NUM>]
                        [--freq=<NUM> | -f <NUM>]
                        [--output-file=<FILE> | -o <FILE>]
                        [--test-name=<NAME> | -n <NAME>]

DESCRIPTION

This command automates the process of collecting SMART data periodically and saving the data in a ready-to-analyze format. Each entry is saved with timestamp and in csv format. Users can use excel to analyze the data. Some examples of use cases are collecting SMART data for temperature characterization, collecting data to calculate endurance, or collecting SMART data during a test or during normal operation.

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 command generates a log file, which contains an entry for identify device (current features & settings) and periodic entries of SMART data.

This command runs for the time specified by the option <run-time>, and collects SMART data at the frequency specified by the option <freq>. If the output file name is not specified, this command will generate a file name that include model string and serial number of the device.

If the test-name option is specified, it will be recorded in the log file and be used as part of the log file name.

OPTIONS

-r <NUM>
--run-tim=<NUM>

(optional) Number of hours to log data (default = 20 hours)

-f <NUM>
--freq=<NUM>

(optional) How often you want to log SMART data (0.25 = 15' , 0.5 = 30' , 1 = 1 hour, 2 = 2 hours, etc.). Default = 10 hours.

-o <FILE>
--output-file=<FILE>

(optional) Name of the log file (give it a name that easy for you to remember what the test is). You can leave it blank too, the file name will be generated as <model string>-<serial number>-<test name>.txt.

-n <NAME>
--test-name=<NAME>

(optional) Name of the test you are doing. We use this string as part of the name of the log file.

EXAMPLES

  • Temperature characterization:

    # nvme virtium save-smart-to-vtview-log /dev/yourDevice --run-time=100 --record-frequency=0.25 --test-name=burn-in-at-(-40)
  • Endurance testing:

    # nvme virtium save-smart-to-vtview-log /dev/yourDevice --run-time=100 --record-frequency=1 --test-name=Endurance-test-JEDEG-219-workload
  • Just logging: Default logging is run for 20 hours and log every 10 hours.

    # nvme virtium save-smart-to-vtview-log /dev/yourDevice

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-virtium-save-smart-to-vtview-log.txt000077500000000000000000000053571352532746300257410ustar00rootroot00000000000000nvme-virtium-save-smart-to-vtview-log(1) ======================================== NAME ---- nvme-virtium-save-smart-to-vtview-log - Periodically save smart attributes into a log file (csv format). SYNOPSIS -------- [verse] 'nvme virtium save-smart-to-vtview-log' [--run-time= | -r ] [--freq= | -f ] [--output-file= | -o ] [--test-name= | -n ] DESCRIPTION ----------- This command automates the process of collecting SMART data periodically and saving the data in a ready-to-analyze format. Each entry is saved with timestamp and in csv format. Users can use excel to analyze the data. Some examples of use cases are collecting SMART data for temperature characterization, collecting data to calculate endurance, or collecting SMART data during a test or during normal operation. The 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 command generates a log file, which contains an entry for identify device (current features & settings) and periodic entries of SMART data. This command runs for the time specified by the option , and collects SMART data at the frequency specified by the option . If the output file name is not specified, this command will generate a file name that include model string and serial number of the device. If the test-name option is specified, it will be recorded in the log file and be used as part of the log file name. OPTIONS ------- -r :: --run-tim=:: (optional) Number of hours to log data (default = 20 hours) -f :: --freq=:: (optional) How often you want to log SMART data (0.25 = 15' , 0.5 = 30' , 1 = 1 hour, 2 = 2 hours, etc.). Default = 10 hours. -o :: --output-file=:: (optional) Name of the log file (give it a name that easy for you to remember what the test is). You can leave it blank too, the file name will be generated as --.txt. -n :: --test-name=:: (optional) Name of the test you are doing. We use this string as part of the name of the log file. EXAMPLES -------- * Temperature characterization: + ------------ # nvme virtium save-smart-to-vtview-log /dev/yourDevice --run-time=100 --record-frequency=0.25 --test-name=burn-in-at-(-40) ------------ + * Endurance testing: + ------------ # nvme virtium save-smart-to-vtview-log /dev/yourDevice --run-time=100 --record-frequency=1 --test-name=Endurance-test-JEDEG-219-workload ------------ + * Just logging: Default logging is run for 20 hours and log every 10 hours. + ------------ # nvme virtium save-smart-to-vtview-log /dev/yourDevice ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-virtium-show-identify.1000066400000000000000000000042131352532746300232330ustar00rootroot00000000000000'\" t .\" Title: nvme-virtium-show-identify .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 05/22/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-VIRTIUM\-SHOW\" "1" "05/22/2019" "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-virtium-show-identify \- Show a complete detail of identify device information in json format\&. .SH "SYNOPSIS" .sp .nf \fInvme virtium show\-identify\fR .fi .SH "DESCRIPTION" .sp This command prints complete detail of the identify device information\&. The details include settings and description of each feature\&. The descriptions are based on NVM Express Revision 1\&.3c specification\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp On success, the command prints identify device in human readable format\&. .SH "OPTIONS" .sp none .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Show Identify Device: .sp .if n \{\ .RS 4 .\} .nf # nvme virtium show\-identify /dev/nvme0n1 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-virtium-show-identify.html000066400000000000000000000433571352532746300240530ustar00rootroot00000000000000 nvme-virtium-show-identify(1)

SYNOPSIS

nvme virtium show-identify <device>

DESCRIPTION

This command prints complete detail of the identify device information. The details include settings and description of each feature. The descriptions are based on NVM Express Revision 1.3c specification.

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 command prints identify device in human readable format.

OPTIONS

none

EXAMPLES

  • Show Identify Device:

    # nvme virtium show-identify /dev/nvme0n1

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-virtium-show-identify.txt000077500000000000000000000015431352532746300237200ustar00rootroot00000000000000nvme-virtium-show-identify(1) ============================= NAME ---- nvme-virtium-show-identify - Show a complete detail of identify device information in json format. SYNOPSIS -------- [verse] 'nvme virtium show-identify' DESCRIPTION ----------- This command prints complete detail of the identify device information. The details include settings and description of each feature. The descriptions are based on NVM Express Revision 1.3c specification. The 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 command prints identify device in human readable format. OPTIONS ------- none EXAMPLES -------- * Show Identify Device: + ------------ # nvme virtium show-identify /dev/nvme0n1 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-wdc-cap-diag.1000066400000000000000000000072531352532746300211740ustar00rootroot00000000000000'\" t .\" Title: nvme-wdc-cap-diag .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-WDC\-CAP\-DIAG" "1" "04/08/2019" "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-wdc-cap-diag \- Retrieve WDC device\*(Aqs diagnostic log and save to file\&. .SH "SYNOPSIS" .sp .nf \fInvme wdc cap\-diag\fR [\-\-output\-file=, \-o ] [\-\-transfer\-size=, \-s ] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends the WDC Vendor Unique Capture\-Diagnostics request and saves the result to a file\&. .sp The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. .sp This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. .SH "OPTIONS" .PP \-o , \-\-output\-file= .RS 4 Output file; defaults to device serial number followed by "cap_diag" suffix .RE .PP \-s , \-\-transfer\-size= .RS 4 Transfer size; defaults to 0x10000 (65536 decimal) bytes .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Gets the capture diagnostics log from the device and saves to default file in current directory (e\&.g\&. STM00019F3F9cap_diag\&.bin): .sp .if n \{\ .RS 4 .\} .nf # nvme wdc cap\-diag /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 .\} Gets the capture diagnostics log from the device and saves to defined file in current directory (e\&.g\&. testSTM00019F3F9cap_diag\&.bin): .sp .if n \{\ .RS 4 .\} .nf # nvme wdc cap\-diag /dev/nvme0 \-o test .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Gets the capture diagnostics log from the device and saves to defined file with pathname (e\&.g\&. /tmp/testSTM00019F3F9cap_diag\&.bin): .sp .if n \{\ .RS 4 .\} .nf # nvme wdc cap\-diag /dev/nvme0 \-o /tmp/test .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Gets the capture diagnostics log from the device transferring the data in 64k chunks and saves to default file in current directory (e\&.g\&. STM00019F3F9internal_fw_log\&.bin): .sp .if n \{\ .RS 4 .\} .nf # nvme wdc cap\-diag /dev/nvme0 \-s 0x10000 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Gets the capture diagnostics log from the device transferring the data in 16k chunks and saves to default file in current directory (e\&.g\&. STM00019F3F9internal_fw_log\&.bin): .sp .if n \{\ .RS 4 .\} .nf # nvme wdc cap\-diag /dev/nvme0 \-s 16384 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite\&. nvme-cli-1.9/Documentation/nvme-wdc-cap-diag.html000066400000000000000000000465311352532746300220020ustar00rootroot00000000000000 nvme-wdc-cap-diag(1)

SYNOPSIS

nvme wdc cap-diag <device> [--output-file=<FILE>, -o <FILE>] [--transfer-size=<SIZE>, -s <SIZE>]

DESCRIPTION

For the NVMe device given, sends the WDC Vendor Unique Capture-Diagnostics request and saves the result to a file.

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

This will only work on WDC devices supporting this feature. Results for any other device are undefined.

OPTIONS

-o <FILE>
--output-file=<FILE>

Output file; defaults to device serial number followed by "cap_diag" suffix

-s <SIZE>
--transfer-size=<SIZE>

Transfer size; defaults to 0x10000 (65536 decimal) bytes

EXAMPLES

  • Gets the capture diagnostics log from the device and saves to default file in current directory (e.g. STM00019F3F9cap_diag.bin):

    # nvme wdc cap-diag /dev/nvme0
  • Gets the capture diagnostics log from the device and saves to defined file in current directory (e.g. testSTM00019F3F9cap_diag.bin):

    # nvme wdc cap-diag /dev/nvme0 -o test
  • Gets the capture diagnostics log from the device and saves to defined file with pathname (e.g. /tmp/testSTM00019F3F9cap_diag.bin):

    # nvme wdc cap-diag /dev/nvme0 -o /tmp/test
  • Gets the capture diagnostics log from the device transferring the data in 64k chunks and saves to default file in current directory (e.g. STM00019F3F9internal_fw_log.bin):

    # nvme wdc cap-diag /dev/nvme0 -s 0x10000
  • Gets the capture diagnostics log from the device transferring the data in 16k chunks and saves to default file in current directory (e.g. STM00019F3F9internal_fw_log.bin):

    # nvme wdc cap-diag /dev/nvme0 -s 16384

NVME

Part of the nvme-user suite.


nvme-cli-1.9/Documentation/nvme-wdc-cap-diag.txt000066400000000000000000000036331352532746300216510ustar00rootroot00000000000000nvme-wdc-cap-diag(1) ==================== NAME ---- nvme-wdc-cap-diag - Retrieve WDC device's diagnostic log and save to file. SYNOPSIS -------- [verse] 'nvme wdc cap-diag' [--output-file=, -o ] [--transfer-size=, -s ] DESCRIPTION ----------- For the NVMe device given, sends the WDC Vendor Unique Capture-Diagnostics request and saves the result to a file. The parameter is mandatory NVMe character device (ex: /dev/nvme0). This will only work on WDC devices supporting this feature. Results for any other device are undefined. OPTIONS ------- -o :: --output-file=:: Output file; defaults to device serial number followed by "cap_diag" suffix -s :: --transfer-size=:: Transfer size; defaults to 0x10000 (65536 decimal) bytes EXAMPLES -------- * Gets the capture diagnostics log from the device and saves to default file in current directory (e.g. STM00019F3F9cap_diag.bin): + ------------ # nvme wdc cap-diag /dev/nvme0 ------------ * Gets the capture diagnostics log from the device and saves to defined file in current directory (e.g. testSTM00019F3F9cap_diag.bin): + ------------ # nvme wdc cap-diag /dev/nvme0 -o test ------------ * Gets the capture diagnostics log from the device and saves to defined file with pathname (e.g. /tmp/testSTM00019F3F9cap_diag.bin): + ------------ # nvme wdc cap-diag /dev/nvme0 -o /tmp/test ------------ * Gets the capture diagnostics log from the device transferring the data in 64k chunks and saves to default file in current directory (e.g. STM00019F3F9internal_fw_log.bin): + ------------ # nvme wdc cap-diag /dev/nvme0 -s 0x10000 ------------ * Gets the capture diagnostics log from the device transferring the data in 16k chunks and saves to default file in current directory (e.g. STM00019F3F9internal_fw_log.bin): + ------------ # nvme wdc cap-diag /dev/nvme0 -s 16384 ------------ NVME ---- Part of the nvme-user suite. nvme-cli-1.9/Documentation/nvme-wdc-clear-assert-dump.1000066400000000000000000000037751352532746300230640ustar00rootroot00000000000000'\" t .\" Title: nvme-wdc-clear-assert-dump .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-WDC\-CLEAR\-AS" "1" "04/08/2019" "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-wdc-clear-assert-dump \- Clears the assert dump (if present)\&. .SH "SYNOPSIS" .sp .nf \fInvme wdc clear\-assert\-dump\fR .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends the wdc vendor unique clear assert dump command\&. .sp The parameter is mandatory and must be the NVMe character device (ex: /dev/nvme0)\&. .sp This will only work on WDC devices supporting this feature\&. The command will not be executed on devices that don\(cqt support it\&. .SH "OPTIONS" .sp None .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Clears the assert dump (if present): .sp .if n \{\ .RS 4 .\} .nf # nvme wdc clear\-assert\-dump /dev/nvme0 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-wdc-clear-assert-dump.html000066400000000000000000000431461352532746300236640ustar00rootroot00000000000000 nvme-wdc-clear-assert-dump(1)

SYNOPSIS

nvme wdc clear-assert-dump <device>

DESCRIPTION

For the NVMe device given, sends the wdc vendor unique clear assert dump command.

The <device> parameter is mandatory and must be the NVMe character device (ex: /dev/nvme0).

This will only work on WDC devices supporting this feature. The command will not be executed on devices that don’t support it.

OPTIONS

None

EXAMPLES

  • Clears the assert dump (if present):

    # nvme wdc clear-assert-dump /dev/nvme0

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-wdc-clear-assert-dump.txt000066400000000000000000000013161352532746300235300ustar00rootroot00000000000000nvme-wdc-clear-assert-dump(1) ============================= NAME ---- nvme-wdc-clear-assert-dump - Clears the assert dump (if present). SYNOPSIS -------- [verse] 'nvme wdc clear-assert-dump' DESCRIPTION ----------- For the NVMe device given, sends the wdc vendor unique clear assert dump command. The parameter is mandatory and must be the NVMe character device (ex: /dev/nvme0). This will only work on WDC devices supporting this feature. The command will not be executed on devices that don't support it. OPTIONS ------- None EXAMPLES -------- * Clears the assert dump (if present): + ------------ # nvme wdc clear-assert-dump /dev/nvme0 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-wdc-clear-pcie-corr.1000066400000000000000000000041741352532746300224750ustar00rootroot00000000000000'\" t .\" Title: nvme-wdc-clear-pcie-corr .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-WDC\-CLEAR\-PC" "1" "01/08/2019" "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-wdc-clear-pcie-corr \- Clears the pcie correctable errors field returned in the smart\-log\-add command\&. .SH "SYNOPSIS" .sp .nf \fInvme wdc clear\-pcie\-corr\fR .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends the wdc vendor unique clear pcie correctable errors command\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. .SH "OPTIONS" .sp None .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Clears the PCIe Correctable Error Count field returned in the smart\-log\-add command: .sp .if n \{\ .RS 4 .\} .nf # nvme wdc clear\-pcie\-corr /dev/nvme0 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-wdc-clear-pcie-corr.html000066400000000000000000000420421352532746300232750ustar00rootroot00000000000000 nvme-wdc-clear-pcie-corr(1)

SYNOPSIS

nvme wdc clear-pcie-corr <device>

DESCRIPTION

For the NVMe device given, sends the wdc vendor unique clear pcie correctable errors command.

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 WDC devices supporting this feature. Results for any other device are undefined.

OPTIONS

None

EXAMPLES

  • Clears the PCIe Correctable Error Count field returned in the smart-log-add command:

    # nvme wdc clear-pcie-corr /dev/nvme0

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-wdc-clear-pcie-correctable-errors.1000066400000000000000000000042661352532746300253310ustar00rootroot00000000000000'\" t .\" Title: nvme-wdc-clear-pcie-correctable-errors .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-WDC\-CLEAR\-PC" "1" "04/08/2019" "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-wdc-clear-pcie-correctable-errors \- Clears the pcie correctable errors field returned in the smart\-log\-add command\&. .SH "SYNOPSIS" .sp .nf \fInvme wdc clear\-pcie\-correctable\-errors\fR .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends the wdc vendor unique clear pcie correctable errors command\&. .sp The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. .sp This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. .SH "OPTIONS" .sp None .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Clears the PCIe Correctable Error Count field returned in the smart\-log\-add command: .sp .if n \{\ .RS 4 .\} .nf # nvme wdc clear\-pcie\-correctable\-errors /dev/nvme0 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite nvme-cli-1.9/Documentation/nvme-wdc-clear-pcie-correctable-errors.html000066400000000000000000000434431352532746300261350ustar00rootroot00000000000000 nvme-wdc-clear-pcie-correctable-errors(1)

SYNOPSIS

nvme wdc clear-pcie-correctable-errors <device>

DESCRIPTION

For the NVMe device given, sends the wdc vendor unique clear pcie correctable errors command.

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 WDC devices supporting this feature. Results for any other device are undefined.

OPTIONS

None

EXAMPLES

  • Clears the PCIe Correctable Error Count field returned in the smart-log-add command:

    # nvme wdc clear-pcie-correctable-errors /dev/nvme0

NVME

Part of the nvme-user suite


nvme-cli-1.9/Documentation/nvme-wdc-clear-pcie-correctable-errors.txt000066400000000000000000000016201352532746300257770ustar00rootroot00000000000000nvme-wdc-clear-pcie-correctable-errors(1) ========================================= NAME ---- nvme-wdc-clear-pcie-correctable-errors - Clears the pcie correctable errors field returned in the smart-log-add command. SYNOPSIS -------- [verse] 'nvme wdc clear-pcie-correctable-errors' DESCRIPTION ----------- For the NVMe device given, sends the wdc vendor unique clear pcie correctable errors command. The 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 WDC devices supporting this feature. Results for any other device are undefined. OPTIONS ------- None EXAMPLES -------- * Clears the PCIe Correctable Error Count field returned in the smart-log-add command: + ------------ # nvme wdc clear-pcie-correctable-errors /dev/nvme0 ------------ NVME ---- Part of the nvme-user suite nvme-cli-1.9/Documentation/nvme-wdc-drive-essentials.1000066400000000000000000000054611352532746300230070ustar00rootroot00000000000000'\" t .\" Title: nvme-wdc-drive-essentials .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/08/2019 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-WDC\-DRIVE\-ES" "1" "01/08/2019" "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-wdc-drive-essentials \- Retrieve WDC device\*(Aqs drive essentials bin files and save to a tar file\&. .SH "SYNOPSIS" .sp .nf \fInvme wdc drive\-essentials\fR [\-\-dir\-name=, \-d ] .fi .SH "DESCRIPTION" .sp For the NVMe device given, captures the drive essential bin files and saves them into a tar file\&. The tar file will be in the following format: DRIVE_ESSENTIALS____