logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

nvme-dir-send - Issue a directive send command, returns applicable results

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.

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.

Name

       nvme-dir-send - Issue a directive send command, returns applicable results

Nvme

       Part of the nvme-user suite

NVMe                                               02/16/2025                                   NVME-DIR-SEND(1)

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.

       -o <fmt>, --output-format=<fmt>
           Set the reporting format to normal, json or binary. Only one output format can be used at a time.

       -v, --verbose
           Increase the information detail in the output.

       -t <timeout>, --timeout=<timeout>
           Override default timeout value. In milliseconds.

Synopsis

nvmedir-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]
                               [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
                               [--timeout=<timeout> | -t <timeout>]

See Also