summaryrefslogtreecommitdiffstats
path: root/Documentation/nvme-read.txt
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-29 04:41:05 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-29 04:41:05 +0000
commit1cc8413aaf5f8fa6595aece1933462c096e88639 (patch)
treee97b4f25c511372d73bdd96c389c5f468d99138a /Documentation/nvme-read.txt
parentInitial commit. (diff)
downloadnvme-cli-1cc8413aaf5f8fa6595aece1933462c096e88639.tar.xz
nvme-cli-1cc8413aaf5f8fa6595aece1933462c096e88639.zip
Adding upstream version 2.4+really2.3.upstream/2.4+really2.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'Documentation/nvme-read.txt')
-rw-r--r--Documentation/nvme-read.txt153
1 files changed, 153 insertions, 0 deletions
diff --git a/Documentation/nvme-read.txt b/Documentation/nvme-read.txt
new file mode 100644
index 0000000..1757fd3
--- /dev/null
+++ b/Documentation/nvme-read.txt
@@ -0,0 +1,153 @@
+nvme-read(1)
+============
+
+NAME
+----
+nvme-read - Send an NVMe Read command, provide results
+
+SYNOPSIS
+--------
+[verse]
+'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]
+ [--storage-tag<storage-tag> | -g <storage-tag>]
+ [--storage-tag-check<storage-tag-check> | -C <storage-tag-check>]
+ [--force]
+
+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
+ specification (1.3a) defines only one directive, 01h, for write
+ stream identifiers.
+
+-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 least significant 8 bits of the DSM field in a write
+ command; the most significant 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).
+
+--storage-tag=<storage-tag>::
+-g <storage-tag>::
+ Variable Sized Expected Logical Block Storage Tag(ELBST).
+
+--storage-tag-check=<storage-tag-check>::
+-C <storage-tag-check>::
+ This bit specifies the Storage Tag field shall be checked as part of end-to-end
+ data protection processing.
+
+--force::
+ Ignore namespace is currently busy and performed the operation
+ even though.
+
+EXAMPLES
+--------
+No examples yet.
+
+NVME
+----
+Part of the nvme-user suite