nvme-device-self-test(1)
========================

NAME
----
nvme-device-self-test - Perform the necessary tests to observe the performance and the parameters

SYNOPSIS
--------
[verse]
'nvme device-self-test' <device> [--namespace-id=<NUM> | -n <NUM>]
			[--self-test-code=<NUM> | -s <NUM>] [--wait | -w]
			[--output-format=<fmt> | -o <fmt>] [--verbose | -v]
			[--timeout=<timeout> | -t <timeout>]

DESCRIPTION
-----------
Initiates the required test based on the user input.

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 corresponding test is initiated.

OPTIONS
-------
-n <NUM>::
--namespace-id=<NUM>::
	Indicate the namespace in which the device self-test has to be carried out

-s <NUM>::
--self-test-code=<NUM>::
	This field specifies the action taken by the device self-test command :
	 0h: Show current state of device self-test operation
	 1h: Start a short device self-test operation
	 2h: Start a extended device self-test operation
	 eh: Start a vendor specific device self-test operation
	 fh: Abort the device self-test operation
	Default is 0h.

-w::
--wait::
	Wait for the device self test to complete before exiting
	The device self-test is aborted by SIGINT signal interrupt for the wait
	The option is ignored if the abort self-test code option specified.

-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.

EXAMPLES
--------
* Start a short device self-test in the namespace-id 1:
+
------------
# nvme device-self-test /dev/nvme0 -n 1 -s 1
------------
+

* Abort the device self-test operation in the namespace-id 1:
+
------------
# nvme device-self-test /dev/nvme0 -n 1 -s 0xf
------------

NVME
----
Part of the nvme-user suite
