diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-29 04:41:05 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-29 04:41:05 +0000 |
commit | 1cc8413aaf5f8fa6595aece1933462c096e88639 (patch) | |
tree | e97b4f25c511372d73bdd96c389c5f468d99138a /Documentation/nvme-write.txt | |
parent | Initial commit. (diff) | |
download | nvme-cli-upstream.tar.xz nvme-cli-upstream.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-write.txt')
-rw-r--r-- | Documentation/nvme-write.txt | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/Documentation/nvme-write.txt b/Documentation/nvme-write.txt new file mode 100644 index 0000000..89aa667 --- /dev/null +++ b/Documentation/nvme-write.txt @@ -0,0 +1,161 @@ +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<storage-tag-check> | -C <storage-tag-check>] + [--force] + +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 +------- +--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 from STDIN. + +--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. + +--app-tag=<apptag>:: +-a <apptag>:: + Optional application tag when used with protection information. + +--limited-retry:: +-l:: + Sets the limited retry flag. + +--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 |