aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h21
1 files changed, 7 insertions, 14 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 5d327313a9f7..aafe82788b4e 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -151,11 +151,9 @@ struct request {
151 void *elevator_private; 151 void *elevator_private;
152 void *completion_data; 152 void *completion_data;
153 153
154 unsigned short ioprio;
155
156 int rq_status; /* should split this into a few status bits */ 154 int rq_status; /* should split this into a few status bits */
157 struct gendisk *rq_disk;
158 int errors; 155 int errors;
156 struct gendisk *rq_disk;
159 unsigned long start_time; 157 unsigned long start_time;
160 158
161 /* Number of scatter-gather DMA addr+len pairs after 159 /* Number of scatter-gather DMA addr+len pairs after
@@ -170,8 +168,9 @@ struct request {
170 */ 168 */
171 unsigned short nr_hw_segments; 169 unsigned short nr_hw_segments;
172 170
171 unsigned short ioprio;
172
173 int tag; 173 int tag;
174 char *buffer;
175 174
176 int ref_count; 175 int ref_count;
177 request_queue_t *q; 176 request_queue_t *q;
@@ -179,6 +178,7 @@ struct request {
179 178
180 struct completion *waiting; 179 struct completion *waiting;
181 void *special; 180 void *special;
181 char *buffer;
182 182
183 /* 183 /*
184 * when request is used as a packet command carrier 184 * when request is used as a packet command carrier
@@ -187,20 +187,14 @@ struct request {
187 unsigned char cmd[BLK_MAX_CDB]; 187 unsigned char cmd[BLK_MAX_CDB];
188 188
189 unsigned int data_len; 189 unsigned int data_len;
190 void *data;
191
192 unsigned int sense_len; 190 unsigned int sense_len;
191 void *data;
193 void *sense; 192 void *sense;
194 193
195 unsigned int timeout; 194 unsigned int timeout;
196 int retries; 195 int retries;
197 196
198 /* 197 /*
199 * For Power Management requests
200 */
201 struct request_pm_state *pm;
202
203 /*
204 * completion callback. end_io_data should be folded in with waiting 198 * completion callback. end_io_data should be folded in with waiting
205 */ 199 */
206 rq_end_io_fn *end_io; 200 rq_end_io_fn *end_io;
@@ -241,6 +235,7 @@ enum rq_flag_bits {
241 __REQ_PM_RESUME, /* resume request */ 235 __REQ_PM_RESUME, /* resume request */
242 __REQ_PM_SHUTDOWN, /* shutdown request */ 236 __REQ_PM_SHUTDOWN, /* shutdown request */
243 __REQ_ORDERED_COLOR, /* is before or after barrier */ 237 __REQ_ORDERED_COLOR, /* is before or after barrier */
238 __REQ_RW_SYNC, /* request is sync (O_DIRECT) */
244 __REQ_NR_BITS, /* stops here */ 239 __REQ_NR_BITS, /* stops here */
245}; 240};
246 241
@@ -270,6 +265,7 @@ enum rq_flag_bits {
270#define REQ_PM_RESUME (1 << __REQ_PM_RESUME) 265#define REQ_PM_RESUME (1 << __REQ_PM_RESUME)
271#define REQ_PM_SHUTDOWN (1 << __REQ_PM_SHUTDOWN) 266#define REQ_PM_SHUTDOWN (1 << __REQ_PM_SHUTDOWN)
272#define REQ_ORDERED_COLOR (1 << __REQ_ORDERED_COLOR) 267#define REQ_ORDERED_COLOR (1 << __REQ_ORDERED_COLOR)
268#define REQ_RW_SYNC (1 << __REQ_RW_SYNC)
273 269
274/* 270/*
275 * State information carried for REQ_PM_SUSPEND and REQ_PM_RESUME 271 * State information carried for REQ_PM_SUSPEND and REQ_PM_RESUME
@@ -438,9 +434,6 @@ struct request_queue
438 434
439#define RQ_INACTIVE (-1) 435#define RQ_INACTIVE (-1)
440#define RQ_ACTIVE 1 436#define RQ_ACTIVE 1
441#define RQ_SCSI_BUSY 0xffff
442#define RQ_SCSI_DONE 0xfffe
443#define RQ_SCSI_DISCONNECTING 0xffe0
444 437
445#define QUEUE_FLAG_CLUSTER 0 /* cluster several segments into 1 */ 438#define QUEUE_FLAG_CLUSTER 0 /* cluster several segments into 1 */
446#define QUEUE_FLAG_QUEUED 1 /* uses generic tag queueing */ 439#define QUEUE_FLAG_QUEUED 1 /* uses generic tag queueing */