aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-02-21 16:36:02 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-02-21 16:36:02 -0500
commit2bfedd1d9f470506d98cb5662ced381c38225968 (patch)
treec42adc950481ebbc727230bf524ac8575207e628 /include/linux
parenta911dcdba190ddf77e9199b9917156f879f42d4b (diff)
parentdecf6d79de84e427d409ff74156af2e77ffadd84 (diff)
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
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/nvme.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/include/linux/nvme.h b/include/linux/nvme.h
index 19a5d4b23209..0adad4a5419b 100644
--- a/include/linux/nvme.h
+++ b/include/linux/nvme.h
@@ -17,7 +17,6 @@
17 17
18#include <uapi/linux/nvme.h> 18#include <uapi/linux/nvme.h>
19#include <linux/pci.h> 19#include <linux/pci.h>
20#include <linux/miscdevice.h>
21#include <linux/kref.h> 20#include <linux/kref.h>
22#include <linux/blk-mq.h> 21#include <linux/blk-mq.h>
23 22
@@ -62,8 +61,6 @@ enum {
62 NVME_CSTS_SHST_MASK = 3 << 2, 61 NVME_CSTS_SHST_MASK = 3 << 2,
63}; 62};
64 63
65#define NVME_VS(major, minor) (major << 16 | minor)
66
67extern unsigned char nvme_io_timeout; 64extern unsigned char nvme_io_timeout;
68#define NVME_IO_TIMEOUT (nvme_io_timeout * HZ) 65#define NVME_IO_TIMEOUT (nvme_io_timeout * HZ)
69 66
@@ -91,9 +88,10 @@ struct nvme_dev {
91 struct nvme_bar __iomem *bar; 88 struct nvme_bar __iomem *bar;
92 struct list_head namespaces; 89 struct list_head namespaces;
93 struct kref kref; 90 struct kref kref;
94 struct miscdevice miscdev; 91 struct device *device;
95 work_func_t reset_workfn; 92 work_func_t reset_workfn;
96 struct work_struct reset_work; 93 struct work_struct reset_work;
94 struct work_struct probe_work;
97 char name[12]; 95 char name[12];
98 char serial[20]; 96 char serial[20];
99 char model[40]; 97 char model[40];
@@ -105,7 +103,6 @@ struct nvme_dev {
105 u16 abort_limit; 103 u16 abort_limit;
106 u8 event_limit; 104 u8 event_limit;
107 u8 vwc; 105 u8 vwc;
108 u8 initialized;
109}; 106};
110 107
111/* 108/*
@@ -121,6 +118,7 @@ struct nvme_ns {
121 unsigned ns_id; 118 unsigned ns_id;
122 int lba_shift; 119 int lba_shift;
123 int ms; 120 int ms;
121 int pi_type;
124 u64 mode_select_num_blocks; 122 u64 mode_select_num_blocks;
125 u32 mode_select_block_len; 123 u32 mode_select_block_len;
126}; 124};
@@ -138,6 +136,7 @@ struct nvme_iod {
138 int nents; /* Used in scatterlist */ 136 int nents; /* Used in scatterlist */
139 int length; /* Of data, in bytes */ 137 int length; /* Of data, in bytes */
140 dma_addr_t first_dma; 138 dma_addr_t first_dma;
139 struct scatterlist meta_sg[1]; /* metadata requires single contiguous buffer */
141 struct scatterlist sg[0]; 140 struct scatterlist sg[0];
142}; 141};
143 142