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