diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 19:41:32 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 19:41:32 +0000 |
commit | f26f66d866ba1a9f3204e6fdfe2b07e67b5492ad (patch) | |
tree | c953c007cbe4f60a147ab62f97937d58abb2e9ca /Documentation/nvme-write.txt | |
parent | Initial commit. (diff) | |
download | nvme-cli-upstream/2.8.tar.xz nvme-cli-upstream/2.8.zip |
Adding upstream version 2.8.upstream/2.8
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'Documentation/nvme-write.txt')
-rw-r--r-- | Documentation/nvme-write.txt | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/Documentation/nvme-write.txt b/Documentation/nvme-write.txt new file mode 100644 index 0000000..af5340e --- /dev/null +++ b/Documentation/nvme-write.txt @@ -0,0 +1,166 @@ +nvme-write(1) +============= + +NAME +---- +nvme-write - Send an NVMe write command, provide results + +SYNOPSIS +-------- +[verse] +'nvme-write' <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 | -C] [--force] + [--output-format=<fmt> | -o <fmt>] [--verbose | -v] + +DESCRIPTION +----------- +The Write command writes the logical blocks specified by the command to +the medium from the data data buffer provided. Will use stdin by default +if you don't provide a file. + +OPTIONS +------- +-s <slba>:: +--start-block=<slba>:: + Start block. + +-c:: +--block-count:: + 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). + +-z <size>:: +--data-size=<size>:: + Size of data, in bytes. + +-y <size>:: +--metadata-size=<size>:: + Size of metadata in bytes. + +-d <data-file>:: +--data=<data-file>:: + Data file. If none provided, contents are sent from STDIN. + +-M <metadata-file>:: +--metadata=<metadata-file>:: + Metadata file, if necessary. + +-p <prinfo>:: +--prinfo=<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 +|================= + +-r <reftag>:: +--ref-tag=<reftag>:: + Optional reftag when used with protection information. + +-m <appmask>:: +--app-tag-mask=<appmask>:: + Optional application tag mask when used with protection information. + +-a <apptag>:: +--app-tag=<apptag>:: + Optional application tag when used with protection information. + +-l:: +--limited-retry:: + Sets the limited retry flag. + +-f:: +--force-unit-access:: + 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). + +-g <storage-tag>:: +--storage-tag=<storage-tag>:: + Variable Sized Expected Logical Block Storage Tag(ELBST). + +-C:: +--storage-tag-check:: + This flag enables Storage Tag field checking as part of end-to-end + data protection processing. + +--force:: + Ignore namespace is currently busy and performed the operation + even though. + +-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. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite |