.TH "nvme_dev_self_test" 9 "nvme_dev_self_test" "February 2024" "libnvme API manual" LINUX .SH NAME nvme_dev_self_test \- Start or abort a self test .SH SYNOPSIS .B "int" nvme_dev_self_test .BI "(struct nvme_dev_self_test_args *args " ");" .SH ARGUMENTS .IP "args" 12 \fIstruct nvme_dev_self_test\fP argument structure .SH "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. .SH "RETURN" The nvme command status if a response was received (see \fIenum nvme_status_field\fP) or -1 with errno set otherwise.