diff options
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r-- | include/linux/blkdev.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index e1888cc5b8ae..6f79d40dd3c0 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -217,6 +217,7 @@ struct request { | |||
217 | unsigned char cmd[BLK_MAX_CDB]; | 217 | unsigned char cmd[BLK_MAX_CDB]; |
218 | 218 | ||
219 | unsigned int data_len; | 219 | unsigned int data_len; |
220 | unsigned int extra_len; /* length of alignment and padding */ | ||
220 | unsigned int sense_len; | 221 | unsigned int sense_len; |
221 | void *data; | 222 | void *data; |
222 | void *sense; | 223 | void *sense; |
@@ -258,6 +259,7 @@ struct bio_vec; | |||
258 | typedef int (merge_bvec_fn) (struct request_queue *, struct bio *, struct bio_vec *); | 259 | typedef int (merge_bvec_fn) (struct request_queue *, struct bio *, struct bio_vec *); |
259 | typedef void (prepare_flush_fn) (struct request_queue *, struct request *); | 260 | typedef void (prepare_flush_fn) (struct request_queue *, struct request *); |
260 | typedef void (softirq_done_fn)(struct request *); | 261 | typedef void (softirq_done_fn)(struct request *); |
262 | typedef int (dma_drain_needed_fn)(struct request *); | ||
261 | 263 | ||
262 | enum blk_queue_state { | 264 | enum blk_queue_state { |
263 | Queue_down, | 265 | Queue_down, |
@@ -294,6 +296,7 @@ struct request_queue | |||
294 | merge_bvec_fn *merge_bvec_fn; | 296 | merge_bvec_fn *merge_bvec_fn; |
295 | prepare_flush_fn *prepare_flush_fn; | 297 | prepare_flush_fn *prepare_flush_fn; |
296 | softirq_done_fn *softirq_done_fn; | 298 | softirq_done_fn *softirq_done_fn; |
299 | dma_drain_needed_fn *dma_drain_needed; | ||
297 | 300 | ||
298 | /* | 301 | /* |
299 | * Dispatch queue sorting | 302 | * Dispatch queue sorting |
@@ -359,6 +362,7 @@ struct request_queue | |||
359 | unsigned long seg_boundary_mask; | 362 | unsigned long seg_boundary_mask; |
360 | void *dma_drain_buffer; | 363 | void *dma_drain_buffer; |
361 | unsigned int dma_drain_size; | 364 | unsigned int dma_drain_size; |
365 | unsigned int dma_pad_mask; | ||
362 | unsigned int dma_alignment; | 366 | unsigned int dma_alignment; |
363 | 367 | ||
364 | struct blk_queue_tag *queue_tags; | 368 | struct blk_queue_tag *queue_tags; |
@@ -698,8 +702,10 @@ extern void blk_queue_max_hw_segments(struct request_queue *, unsigned short); | |||
698 | extern void blk_queue_max_segment_size(struct request_queue *, unsigned int); | 702 | extern void blk_queue_max_segment_size(struct request_queue *, unsigned int); |
699 | extern void blk_queue_hardsect_size(struct request_queue *, unsigned short); | 703 | extern void blk_queue_hardsect_size(struct request_queue *, unsigned short); |
700 | extern void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b); | 704 | extern void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b); |
701 | extern int blk_queue_dma_drain(struct request_queue *q, void *buf, | 705 | extern void blk_queue_dma_pad(struct request_queue *, unsigned int); |
702 | unsigned int size); | 706 | extern int blk_queue_dma_drain(struct request_queue *q, |
707 | dma_drain_needed_fn *dma_drain_needed, | ||
708 | void *buf, unsigned int size); | ||
703 | extern void blk_queue_segment_boundary(struct request_queue *, unsigned long); | 709 | extern void blk_queue_segment_boundary(struct request_queue *, unsigned long); |
704 | extern void blk_queue_prep_rq(struct request_queue *, prep_rq_fn *pfn); | 710 | extern void blk_queue_prep_rq(struct request_queue *, prep_rq_fn *pfn); |
705 | extern void blk_queue_merge_bvec(struct request_queue *, merge_bvec_fn *); | 711 | extern void blk_queue_merge_bvec(struct request_queue *, merge_bvec_fn *); |