summaryrefslogtreecommitdiffstats
path: root/block/deadline-iosched.c
diff options
context:
space:
mode:
Diffstat (limited to 'block/deadline-iosched.c')
-rw-r--r--block/deadline-iosched.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/block/deadline-iosched.c b/block/deadline-iosched.c
index 05fc0ea25a98..c68f6bbc0dcd 100644
--- a/block/deadline-iosched.c
+++ b/block/deadline-iosched.c
@@ -120,12 +120,11 @@ static void deadline_remove_request(struct request_queue *q, struct request *rq)
120 deadline_del_rq_rb(dd, rq); 120 deadline_del_rq_rb(dd, rq);
121} 121}
122 122
123static int 123static enum elv_merge
124deadline_merge(struct request_queue *q, struct request **req, struct bio *bio) 124deadline_merge(struct request_queue *q, struct request **req, struct bio *bio)
125{ 125{
126 struct deadline_data *dd = q->elevator->elevator_data; 126 struct deadline_data *dd = q->elevator->elevator_data;
127 struct request *__rq; 127 struct request *__rq;
128 int ret;
129 128
130 /* 129 /*
131 * check for front merge 130 * check for front merge
@@ -138,20 +137,17 @@ deadline_merge(struct request_queue *q, struct request **req, struct bio *bio)
138 BUG_ON(sector != blk_rq_pos(__rq)); 137 BUG_ON(sector != blk_rq_pos(__rq));
139 138
140 if (elv_bio_merge_ok(__rq, bio)) { 139 if (elv_bio_merge_ok(__rq, bio)) {
141 ret = ELEVATOR_FRONT_MERGE; 140 *req = __rq;
142 goto out; 141 return ELEVATOR_FRONT_MERGE;
143 } 142 }
144 } 143 }
145 } 144 }
146 145
147 return ELEVATOR_NO_MERGE; 146 return ELEVATOR_NO_MERGE;
148out:
149 *req = __rq;
150 return ret;
151} 147}
152 148
153static void deadline_merged_request(struct request_queue *q, 149static void deadline_merged_request(struct request_queue *q,
154 struct request *req, int type) 150 struct request *req, enum elv_merge type)
155{ 151{
156 struct deadline_data *dd = q->elevator->elevator_data; 152 struct deadline_data *dd = q->elevator->elevator_data;
157 153