---
name: "nvme_dev_self_test"
section: "2"
platform: "linux"
package: "libnvme-dev"
version: "1.13-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/nvme_dev_self_test"
---

# nvme\_dev\_self\_test(2)

Start or abort a self test

## NAME

nvme\_dev\_self\_test - Start or abort a self test

## SYNOPSIS

**int nvme\_dev\_self\_test** **(struct nvme\_dev\_self\_test\_args \*args** *);*

## ARGUMENTS

- args

  *struct nvme\_dev\_self\_test* argument structure

## DESCRIPTION

The Device Self-test command starts a device self-test operation or abort a device self-test operation. A device self-test operation is a diagnostic testing sequence that tests the integrity and functionality of the controller and may include testing of the media associated with namespaces. The controller may return a response to this command immediately while running the self-test in the background.

Set the 'nsid' field to 0 to not include namespaces in the test. Set to 0xffffffff to test all namespaces. All other values tests a specific namespace, if present.

## RETURN

The nvme command status if a response was received (see *enum nvme\_status\_field*) or -1 with errno set otherwise.
