diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-09 12:26:40 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-09 12:26:40 -0500 |
| commit | e2688f00dc0ceb9d9867434dffbd080411fc23b0 (patch) | |
| tree | 433549c6a655ac879654ba82d312911677650380 /include/linux | |
| parent | 356cebea1123804e4aa85b43ab39bbd0ac8e667c (diff) | |
| parent | a9925a06ea52a44b4bf4a941342e8240eaf22417 (diff) | |
Merge branch 'blk-softirq' of git://brick.kernel.dk/data/git/linux-2.6-block
Manual merge for trivial #include changes
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/blkdev.h | 21 | ||||
| -rw-r--r-- | include/linux/ide.h | 1 | ||||
| -rw-r--r-- | include/linux/interrupt.h | 2 |
3 files changed, 20 insertions, 4 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 96b2339916..02a585faa6 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
| @@ -118,9 +118,9 @@ struct request_list { | |||
| 118 | * try to put the fields that are referenced together in the same cacheline | 118 | * try to put the fields that are referenced together in the same cacheline |
| 119 | */ | 119 | */ |
| 120 | struct request { | 120 | struct request { |
| 121 | struct list_head queuelist; /* looking for ->queue? you must _not_ | 121 | struct list_head queuelist; |
| 122 | * access it directly, use | 122 | struct list_head donelist; |
| 123 | * blkdev_dequeue_request! */ | 123 | |
| 124 | unsigned long flags; /* see REQ_ bits below */ | 124 | unsigned long flags; /* see REQ_ bits below */ |
| 125 | 125 | ||
| 126 | /* Maintain bio traversal state for part by part I/O submission. | 126 | /* Maintain bio traversal state for part by part I/O submission. |
| @@ -141,6 +141,7 @@ struct request { | |||
| 141 | struct bio *biotail; | 141 | struct bio *biotail; |
| 142 | 142 | ||
| 143 | void *elevator_private; | 143 | void *elevator_private; |
| 144 | void *completion_data; | ||
| 144 | 145 | ||
| 145 | unsigned short ioprio; | 146 | unsigned short ioprio; |
| 146 | 147 | ||
| @@ -291,6 +292,7 @@ typedef int (merge_bvec_fn) (request_queue_t *, struct bio *, struct bio_vec *); | |||
| 291 | typedef void (activity_fn) (void *data, int rw); | 292 | typedef void (activity_fn) (void *data, int rw); |
| 292 | typedef int (issue_flush_fn) (request_queue_t *, struct gendisk *, sector_t *); | 293 | typedef int (issue_flush_fn) (request_queue_t *, struct gendisk *, sector_t *); |
| 293 | typedef void (prepare_flush_fn) (request_queue_t *, struct request *); | 294 | typedef void (prepare_flush_fn) (request_queue_t *, struct request *); |
| 295 | typedef void (softirq_done_fn)(struct request *); | ||
| 294 | 296 | ||
| 295 | enum blk_queue_state { | 297 | enum blk_queue_state { |
| 296 | Queue_down, | 298 | Queue_down, |
| @@ -332,6 +334,7 @@ struct request_queue | |||
| 332 | activity_fn *activity_fn; | 334 | activity_fn *activity_fn; |
| 333 | issue_flush_fn *issue_flush_fn; | 335 | issue_flush_fn *issue_flush_fn; |
| 334 | prepare_flush_fn *prepare_flush_fn; | 336 | prepare_flush_fn *prepare_flush_fn; |
| 337 | softirq_done_fn *softirq_done_fn; | ||
| 335 | 338 | ||
| 336 | /* | 339 | /* |
| 337 | * Dispatch queue sorting | 340 | * Dispatch queue sorting |
| @@ -645,6 +648,17 @@ extern int end_that_request_first(struct request *, int, int); | |||
| 645 | extern int end_that_request_chunk(struct request *, int, int); | 648 | extern int end_that_request_chunk(struct request *, int, int); |
| 646 | extern void end_that_request_last(struct request *, int); | 649 | extern void end_that_request_last(struct request *, int); |
| 647 | extern void end_request(struct request *req, int uptodate); | 650 | extern void end_request(struct request *req, int uptodate); |
| 651 | extern void blk_complete_request(struct request *); | ||
| 652 | |||
| 653 | static inline int rq_all_done(struct request *rq, unsigned int nr_bytes) | ||
| 654 | { | ||
| 655 | if (blk_fs_request(rq)) | ||
| 656 | return (nr_bytes >= (rq->hard_nr_sectors << 9)); | ||
| 657 | else if (blk_pc_request(rq)) | ||
| 658 | return nr_bytes >= rq->data_len; | ||
| 659 | |||
| 660 | return 0; | ||
| 661 | } | ||
| 648 | 662 | ||
| 649 | /* | 663 | /* |
| 650 | * end_that_request_first/chunk() takes an uptodate argument. we account | 664 | * end_that_request_first/chunk() takes an uptodate argument. we account |
| @@ -693,6 +707,7 @@ extern void blk_queue_segment_boundary(request_queue_t *, unsigned long); | |||
| 693 | extern void blk_queue_prep_rq(request_queue_t *, prep_rq_fn *pfn); | 707 | extern void blk_queue_prep_rq(request_queue_t *, prep_rq_fn *pfn); |
| 694 | extern void blk_queue_merge_bvec(request_queue_t *, merge_bvec_fn *); | 708 | extern void blk_queue_merge_bvec(request_queue_t *, merge_bvec_fn *); |
| 695 | extern void blk_queue_dma_alignment(request_queue_t *, int); | 709 | extern void blk_queue_dma_alignment(request_queue_t *, int); |
| 710 | extern void blk_queue_softirq_done(request_queue_t *, softirq_done_fn *); | ||
| 696 | extern struct backing_dev_info *blk_get_backing_dev_info(struct block_device *bdev); | 711 | extern struct backing_dev_info *blk_get_backing_dev_info(struct block_device *bdev); |
| 697 | extern int blk_queue_ordered(request_queue_t *, unsigned, prepare_flush_fn *); | 712 | extern int blk_queue_ordered(request_queue_t *, unsigned, prepare_flush_fn *); |
| 698 | extern void blk_queue_issue_flush_fn(request_queue_t *, issue_flush_fn *); | 713 | extern void blk_queue_issue_flush_fn(request_queue_t *, issue_flush_fn *); |
diff --git a/include/linux/ide.h b/include/linux/ide.h index 4dd6694963..ef8d0cbb83 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
| @@ -1001,6 +1001,7 @@ extern int noautodma; | |||
| 1001 | 1001 | ||
| 1002 | extern int ide_end_request (ide_drive_t *drive, int uptodate, int nrsecs); | 1002 | extern int ide_end_request (ide_drive_t *drive, int uptodate, int nrsecs); |
| 1003 | extern int __ide_end_request (ide_drive_t *drive, struct request *rq, int uptodate, int nrsecs); | 1003 | extern int __ide_end_request (ide_drive_t *drive, struct request *rq, int uptodate, int nrsecs); |
| 1004 | extern void ide_softirq_done(struct request *rq); | ||
| 1004 | 1005 | ||
| 1005 | /* | 1006 | /* |
| 1006 | * This is used on exit from the driver to designate the next irq handler | 1007 | * This is used on exit from the driver to designate the next irq handler |
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index e50a95fbeb..2c08fdc2bd 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
| @@ -112,7 +112,7 @@ enum | |||
| 112 | TIMER_SOFTIRQ, | 112 | TIMER_SOFTIRQ, |
| 113 | NET_TX_SOFTIRQ, | 113 | NET_TX_SOFTIRQ, |
| 114 | NET_RX_SOFTIRQ, | 114 | NET_RX_SOFTIRQ, |
| 115 | SCSI_SOFTIRQ, | 115 | BLOCK_SOFTIRQ, |
| 116 | TASKLET_SOFTIRQ | 116 | TASKLET_SOFTIRQ |
| 117 | }; | 117 | }; |
| 118 | 118 | ||
