History

Merge branch 'blk-softirq' of git://brick.kernel.dk/data/git/linux-2.6-block

Manual merge for trivial #include changes

Linus Torvalds committed 20 years ago

Commit e2688f02 parents 356cebe a9925a010 files · +253 −139Browse files

Showing the changes to include/linux/blkdev.h (1 of 10 files). Show all

Unified · Split

include/linux/blkdev.h+18−3
@@ -118,9 +118,9 @@ struct request_list { · 117 unmodified lines
118118 * try to put the fields that are referenced together in the same cacheline
119119 */
120120 struct request {
121− struct list_head queuelist; /* looking for ->queue? you must _not_
122− * access it directly, use
123− * blkdev_dequeue_request! */
121+ struct list_head queuelist;
122+ struct list_head donelist;
123+
124124 unsigned long flags; /* see REQ_ bits below */
125125
126126 /* Maintain bio traversal state for part by part I/O submission.
@@ -141,6 +141,7 @@ struct request { · 14 unmodified lines
141141 struct bio *biotail;
142142
143143 void *elevator_private;
144+ void *completion_data;
144145
145146 unsigned short ioprio;
146147
@@ -291,6 +292,7 @@ typedef int (merge_bvec_fn) (request_queue_t *, struct bio *, struct bio_vec *); · 144 unmodified lines
291292 typedef void (activity_fn) (void *data, int rw);
292293 typedef int (issue_flush_fn) (request_queue_t *, struct gendisk *, sector_t *);
293294 typedef void (prepare_flush_fn) (request_queue_t *, struct request *);
295+typedef void (softirq_done_fn)(struct request *);
294296
295297 enum blk_queue_state {
296298 Queue_down,
@@ -332,6 +334,7 @@ struct request_queue · 35 unmodified lines
332334 activity_fn *activity_fn;
333335 issue_flush_fn *issue_flush_fn;
334336 prepare_flush_fn *prepare_flush_fn;
337+ softirq_done_fn *softirq_done_fn;
335338
336339 /*
337340 * Dispatch queue sorting
@@ -645,6 +648,17 @@ extern int end_that_request_first(struct request *, int, int); · 307 unmodified lines
645648 extern int end_that_request_chunk(struct request *, int, int);
646649 extern void end_that_request_last(struct request *, int);
647650 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+}
648662
649663 /*
650664 * 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); · 42 unmodified lines
693707 extern void blk_queue_prep_rq(request_queue_t *, prep_rq_fn *pfn);
694708 extern void blk_queue_merge_bvec(request_queue_t *, merge_bvec_fn *);
695709 extern void blk_queue_dma_alignment(request_queue_t *, int);
710+extern void blk_queue_softirq_done(request_queue_t *, softirq_done_fn *);
696711 extern struct backing_dev_info *blk_get_backing_dev_info(struct block_device *bdev);
697712 extern int blk_queue_ordered(request_queue_t *, unsigned, prepare_flush_fn *);
698713 extern void blk_queue_issue_flush_fn(request_queue_t *, issue_flush_fn *);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t