From: Kwan (Hingkwan) Huen-SSI Date: Fri, 11 Aug 2017 02:54:11 +0000 (-0700) Subject: nvme-cli: add documentation for directive commands X-Git-Tag: v1.4~11 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=d7c78ee5dc721c8d49754994e2009eac58b0d3c1;p=users%2Fsagi%2Fnvme-cli.git nvme-cli: add documentation for directive commands Signed-off-by: Kwan (Hingkwan) Huen-SSI Signed-off-by: Keith Busch --- diff --git a/Documentation/nvme-dir-receive.1 b/Documentation/nvme-dir-receive.1 new file mode 100644 index 00000000..7b6c1db3 --- /dev/null +++ b/Documentation/nvme-dir-receive.1 @@ -0,0 +1,235 @@ +'\" t +.\" Title: nvme-dir-receive +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.79.1 +.\" Date: 08/10/2017 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-DIR\-RECEIVE" "1" "08/10/2017" "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 diff --git a/Documentation/nvme-dir-receive.html b/Documentation/nvme-dir-receive.html new file mode 100644 index 00000000..76839ed5 --- /dev/null +++ b/Documentation/nvme-dir-receive.html @@ -0,0 +1,975 @@ + + + + + +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

+
+
+
+

+ + + diff --git a/Documentation/nvme-dir-receive.txt b/Documentation/nvme-dir-receive.txt new file mode 100644 index 00000000..b412c0b9 --- /dev/null +++ b/Documentation/nvme-dir-receive.txt @@ -0,0 +1,118 @@ +nvme-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 diff --git a/Documentation/nvme-dir-send.1 b/Documentation/nvme-dir-send.1 new file mode 100644 index 00000000..4da11bd8 --- /dev/null +++ b/Documentation/nvme-dir-send.1 @@ -0,0 +1,241 @@ +'\" t +.\" Title: nvme-dir-send +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.79.1 +.\" Date: 08/10/2017 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-DIR\-SEND" "1" "08/10/2017" "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 diff --git a/Documentation/nvme-dir-send.html b/Documentation/nvme-dir-send.html new file mode 100644 index 00000000..636d7d14 --- /dev/null +++ b/Documentation/nvme-dir-send.html @@ -0,0 +1,988 @@ + + + + + +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

+
+
+
+

+ + + diff --git a/Documentation/nvme-dir-send.txt b/Documentation/nvme-dir-send.txt new file mode 100644 index 00000000..eb5dad0d --- /dev/null +++ b/Documentation/nvme-dir-send.txt @@ -0,0 +1,124 @@ +nvme-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