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

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

SYNOPSIS
--------
[verse]
'nvme' [<global-options>] 'device-self-test' <device>
			[--namespace-id=<NUM> | -n <NUM>]
			[--self-test-code=<NUM> | -s <NUM>]
			[--wait | -w]

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.

The results of this test can be queried via 'nvme self-test-log <device>'.

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.

include::global-options.txt[]

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
