NAME

enum nvme_status_type - type encoding for NVMe return values, when represented as an int.

SYNOPSIS

enum nvme_status_type {
 
NVME_STATUS_TYPE_SHIFT ,
 
 
NVME_STATUS_TYPE_MASK ,
 
 
NVME_STATUS_TYPE_NVME ,
 
 
NVME_STATUS_TYPE_MI
 
};

Constants

NVME_STATUS_TYPE_SHIFT
shift value for status bits
NVME_STATUS_TYPE_MASK
mask value for status bits
NVME_STATUS_TYPE_NVME
NVMe command status value, typically from CDW3
NVME_STATUS_TYPE_MI
NVMe-MI header status

Description

The nvme_* api returns an int, with negative values indicating an internal or syscall error, zero signifying success, positive values representing the NVMe status.
 
That latter case (the NVMe status) may represent status values from different parts of the transport/controller/etc, and are at most 16 bits of data. So, we use the most-significant 3 bits of the signed int to indicate which type of status this is.

Questions & Answers

Helpful answers and articles about nvme_status_type you may found on these sites:
Stack Overflow Server Fault Super User Unix & Linux Ask Ubuntu Network Engineering DevOps Raspberry Pi Webmasters Google Search