]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/uapi/linux/nvme.h
NVMe: Updates for 1.1 spec
[karo-tx-linux.git] / include / uapi / linux / nvme.h
index 97106556408f129cad622f54241715d3e6b5a347..26386cf3db444cbca7bc9e7138f8b0e01c0669b6 100644 (file)
@@ -181,6 +181,22 @@ enum {
        NVME_LBART_ATTRIB_HIDE  = 1 << 1,
 };
 
+struct nvme_reservation_status {
+       __le32  gen;
+       __u8    rtype;
+       __u8    regctl[2];
+       __u8    resv5[2];
+       __u8    ptpls;
+       __u8    resv10[13];
+       struct {
+               __le16  cntlid;
+               __u8    rcsts;
+               __u8    resv3[5];
+               __le64  hostid;
+               __le64  rkey;
+       } regctl_ds[];
+};
+
 /* I/O commands */
 
 enum nvme_opcode {
@@ -189,7 +205,12 @@ enum nvme_opcode {
        nvme_cmd_read           = 0x02,
        nvme_cmd_write_uncor    = 0x04,
        nvme_cmd_compare        = 0x05,
+       nvme_cmd_write_zeroes   = 0x08,
        nvme_cmd_dsm            = 0x09,
+       nvme_cmd_resv_register  = 0x0d,
+       nvme_cmd_resv_report    = 0x0e,
+       nvme_cmd_resv_acquire   = 0x11,
+       nvme_cmd_resv_release   = 0x15,
 };
 
 struct nvme_common_command {
@@ -305,7 +326,11 @@ enum {
        NVME_FEAT_IRQ_CONFIG    = 0x09,
        NVME_FEAT_WRITE_ATOMIC  = 0x0a,
        NVME_FEAT_ASYNC_EVENT   = 0x0b,
-       NVME_FEAT_SW_PROGRESS   = 0x0c,
+       NVME_FEAT_AUTO_PST      = 0x0c,
+       NVME_FEAT_SW_PROGRESS   = 0x80,
+       NVME_FEAT_HOST_ID       = 0x81,
+       NVME_FEAT_RESV_MASK     = 0x82,
+       NVME_FEAT_RESV_PERSIST  = 0x83,
        NVME_LOG_ERROR          = 0x01,
        NVME_LOG_SMART          = 0x02,
        NVME_LOG_FW_SLOT        = 0x03,