diff options
Diffstat (limited to 'block/as-iosched.c')
-rw-r--r-- | block/as-iosched.c | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/block/as-iosched.c b/block/as-iosched.c index 612d64096300..8c3946787dbb 100644 --- a/block/as-iosched.c +++ b/block/as-iosched.c | |||
@@ -1268,22 +1268,8 @@ static void as_merged_requests(struct request_queue *q, struct request *req, | |||
1268 | */ | 1268 | */ |
1269 | if (!list_empty(&req->queuelist) && !list_empty(&next->queuelist)) { | 1269 | if (!list_empty(&req->queuelist) && !list_empty(&next->queuelist)) { |
1270 | if (time_before(rq_fifo_time(next), rq_fifo_time(req))) { | 1270 | if (time_before(rq_fifo_time(next), rq_fifo_time(req))) { |
1271 | struct io_context *rioc = RQ_IOC(req); | ||
1272 | struct io_context *nioc = RQ_IOC(next); | ||
1273 | |||
1274 | list_move(&req->queuelist, &next->queuelist); | 1271 | list_move(&req->queuelist, &next->queuelist); |
1275 | rq_set_fifo_time(req, rq_fifo_time(next)); | 1272 | rq_set_fifo_time(req, rq_fifo_time(next)); |
1276 | /* | ||
1277 | * Don't copy here but swap, because when anext is | ||
1278 | * removed below, it must contain the unused context | ||
1279 | */ | ||
1280 | if (rioc != nioc) { | ||
1281 | double_spin_lock(&rioc->lock, &nioc->lock, | ||
1282 | rioc < nioc); | ||
1283 | swap_io_context(&rioc, &nioc); | ||
1284 | double_spin_unlock(&rioc->lock, &nioc->lock, | ||
1285 | rioc < nioc); | ||
1286 | } | ||
1287 | } | 1273 | } |
1288 | } | 1274 | } |
1289 | 1275 | ||