diff options
Diffstat (limited to 'block/elevator.c')
-rw-r--r-- | block/elevator.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/block/elevator.c b/block/elevator.c index f98e92edc937..25713927c0d3 100644 --- a/block/elevator.c +++ b/block/elevator.c | |||
@@ -113,7 +113,7 @@ int elv_rq_merge_ok(struct request *rq, struct bio *bio) | |||
113 | } | 113 | } |
114 | EXPORT_SYMBOL(elv_rq_merge_ok); | 114 | EXPORT_SYMBOL(elv_rq_merge_ok); |
115 | 115 | ||
116 | static inline int elv_try_merge(struct request *__rq, struct bio *bio) | 116 | int elv_try_merge(struct request *__rq, struct bio *bio) |
117 | { | 117 | { |
118 | int ret = ELEVATOR_NO_MERGE; | 118 | int ret = ELEVATOR_NO_MERGE; |
119 | 119 | ||
@@ -421,6 +421,8 @@ void elv_dispatch_sort(struct request_queue *q, struct request *rq) | |||
421 | struct list_head *entry; | 421 | struct list_head *entry; |
422 | int stop_flags; | 422 | int stop_flags; |
423 | 423 | ||
424 | BUG_ON(rq->cmd_flags & REQ_ON_PLUG); | ||
425 | |||
424 | if (q->last_merge == rq) | 426 | if (q->last_merge == rq) |
425 | q->last_merge = NULL; | 427 | q->last_merge = NULL; |
426 | 428 | ||
@@ -696,6 +698,8 @@ void elv_insert(struct request_queue *q, struct request *rq, int where) | |||
696 | void __elv_add_request(struct request_queue *q, struct request *rq, int where, | 698 | void __elv_add_request(struct request_queue *q, struct request *rq, int where, |
697 | int plug) | 699 | int plug) |
698 | { | 700 | { |
701 | BUG_ON(rq->cmd_flags & REQ_ON_PLUG); | ||
702 | |||
699 | if (rq->cmd_flags & REQ_SOFTBARRIER) { | 703 | if (rq->cmd_flags & REQ_SOFTBARRIER) { |
700 | /* barriers are scheduling boundary, update end_sector */ | 704 | /* barriers are scheduling boundary, update end_sector */ |
701 | if (rq->cmd_type == REQ_TYPE_FS || | 705 | if (rq->cmd_type == REQ_TYPE_FS || |