History

Merge branch 'for-linus' of git://git.kernel.dk/linux-block

Pull followup block layer updates from Jens Axboe: "Two things in this pull request: - A block throttle oops fix (marked for stable) from Thadeu. - The NVMe fixes/features queued up for 3.20, but merged later in the process. From Keith. We should have gotten this merged earlier, we're ironing out the kinks in the process. Will be ready for the initial pull next series" * 'for-linus' of git://git.kernel.dk/linux-block: blk-throttle: check stats_cpu before reading it from sysfs NVMe: Fix potential corruption on sync commands NVMe: Remove unused variables NVMe: Fix scsi mode select llbaa setting NVMe: Fix potential corruption during shutdown NVMe: Asynchronous controller probe NVMe: Register management handle under nvme class NVMe: Update SCSI Inquiry VPD 83h translation NVMe: Metadata format support

Linus Torvalds committed 11 years ago

Commit 2bfedd12 parents a911dcd decf6d75 files · +417 −213Browse files

Showing the changes to include/uapi/linux (1 of 5 files). Show all

Unified · Split

include/uapi/linux/nvme.h+25−1
@@ -115,7 +115,13 @@ struct nvme_id_ns { · 114 unmodified lines
115115 __le16 nawun;
116116 __le16 nawupf;
117117 __le16 nacwu;
118− __u8 rsvd40[80];
118+ __le16 nabsn;
119+ __le16 nabo;
120+ __le16 nabspf;
121+ __u16 rsvd46;
122+ __le64 nvmcap[2];
123+ __u8 rsvd64[40];
124+ __u8 nguid[16];
119125 __u8 eui64[8];
120126 struct nvme_lbaf lbaf[16];
121127 __u8 rsvd192[192];
@@ -124,10 +130,22 @@ struct nvme_id_ns { · 2 unmodified lines
124130
125131 enum {
126132 NVME_NS_FEAT_THIN = 1 << 0,
133+ NVME_NS_FLBAS_LBA_MASK = 0xf,
134+ NVME_NS_FLBAS_META_EXT = 0x10,
127135 NVME_LBAF_RP_BEST = 0,
128136 NVME_LBAF_RP_BETTER = 1,
129137 NVME_LBAF_RP_GOOD = 2,
130138 NVME_LBAF_RP_DEGRADED = 3,
139+ NVME_NS_DPC_PI_LAST = 1 << 4,
140+ NVME_NS_DPC_PI_FIRST = 1 << 3,
141+ NVME_NS_DPC_PI_TYPE3 = 1 << 2,
142+ NVME_NS_DPC_PI_TYPE2 = 1 << 1,
143+ NVME_NS_DPC_PI_TYPE1 = 1 << 0,
144+ NVME_NS_DPS_PI_FIRST = 1 << 3,
145+ NVME_NS_DPS_PI_MASK = 0x7,
146+ NVME_NS_DPS_PI_TYPE1 = 1,
147+ NVME_NS_DPS_PI_TYPE2 = 2,
148+ NVME_NS_DPS_PI_TYPE3 = 3,
131149 };
132150
133151 struct nvme_smart_log {
@@ -261,6 +279,10 @@ enum { · 127 unmodified lines
261279 NVME_RW_DSM_LATENCY_LOW = 3 << 4,
262280 NVME_RW_DSM_SEQ_REQ = 1 << 6,
263281 NVME_RW_DSM_COMPRESSED = 1 << 7,
282+ NVME_RW_PRINFO_PRCHK_REF = 1 << 10,
283+ NVME_RW_PRINFO_PRCHK_APP = 1 << 11,
284+ NVME_RW_PRINFO_PRCHK_GUARD = 1 << 12,
285+ NVME_RW_PRINFO_PRACT = 1 << 13,
264286 };
265287
266288 struct nvme_dsm_cmd {
@@ -549,6 +571,8 @@ struct nvme_passthru_cmd { · 282 unmodified lines
549571 __u32 result;
550572 };
551573
574+#define NVME_VS(major, minor) (((major) << 16) | ((minor) << 8))
575+
552576 #define nvme_admin_cmd nvme_passthru_cmd
553577
554578 #define NVME_IOCTL_ID _IO('N', 0x40)