nvme-verify1
Send an nvme verify command, return results
Usage
nvme [<global-options>]
verify
<device>
[{--namespace-id=<nsid> | -n
<nsid>}]
[{--start-block=<slba> | -s
<slba>}]
[{--block-count=<nlb> | -c
<nlb>}]
[{--limited-retry | -l}]
[{--force-unit-access | -f}]
[{--prinfo=<prinfo> | -p
<prinfo>}]
[{--ref-tag=<reftag> | -r
<reftag>}]
[{--app-tag-mask=<appmask> | -m
<appmask>}]
[{--app-tag=<apptag> | -a
<apptag>}]
[{--storage-tag<storage-tag> | -S
<storage-tag>}]
[{--storage-tag-check | -C}]
Overview
The Verify command verifies the integrity of the stored information by reading data and metadata.
Options
-
-n <nsid>, --namespace-id=<nsid> -
Namespace ID use in the command. The broadcast value 0xffffffff can also be given as all or -1.
-
-s <slba>, --start-block=<slba> -
Start block address.
-
-c <nlb>, --block-count=<nlb> -
Number of logical blocks to Verify.
-
-l, --limited-retry -
Sets the limited retry flag.
-
-f, --force-unit-access -
Set the force-unit access flag.
-
-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.
-
-S <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 Verify operation.
Options
The following options are defined at the top-level nvme command and are available to this subcommand:
-
--dry-run -
Print the command that would be executed, but do not actually execute it.
-
--no-ioctl-probing -
Disable probing for 64-bit IOCTL support.
-
--no-retries -
Disable retry logic on transient errors.
-
-o <fmt>, --output-format=<fmt> -
Set the reporting format to normal, tabular, 'json, or binary. Only one output format may be used at a time.
-
--output-format-version=<version> -
Select the output format version. Version 1 uses the original field naming, while version 2 (default) provides more consistent and script-friendly field names. Other versions are rejected.
-
--quiet -
Suppress informational messages. Errors are still reported, and --quiet cancels any --verbose for the library log level.
-
--set-options=<key=value>[,<key=value>...] -
Set libnvme library options for this invocation. Supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir.
-
--timeout=<ms> -
Set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff).
-
-v, --verbose -
Increase the level of detail in the output. May be specified multiple times to further increase verbosity.
These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file.
Examples
No examples yet.
Nvme
Part of the nvme-user suite
Releases
3 releases since Debian 12 (Bookworm); the text changed 2 times.
--dry-run since Arch Linux 2026-11-01;
--no-ioctl-probing since Arch Linux 2026-11-01;
--no-retries since Arch Linux 2026-11-01;
--output-format since Debian 13 (Trixie);
--output-format-version since Arch Linux 2026-11-01;
--quiet since Arch Linux 2026-11-01;
--set-options since Arch Linux 2026-11-01;
--timeout since Debian 13 (Trixie);
--verbose since Debian 13 (Trixie);
-o since Debian 13 (Trixie);
-v since Debian 13 (Trixie).
-t until Debian 13 (Trixie).