From 32625b27048596ebbd2df20b7297851738455bc7 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Sun, 15 Jan 2012 10:29:48 +0100 Subject: [PATCH] --- yaml --- r: 285129 b: refs/heads/master c: 5d381efb3d1f1ef10535a31ca0dd9b22fe1e1922 h: refs/heads/master i: 285127: 4781f3e46d273371a354071000575410f4df3204 v: v3 --- [refs] | 2 +- trunk/block/elevator.c | 16 ++++------------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 3b356045f991..74592e02fb0c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6898e3bd11cc9a931ef115eee9000ac9d8f8c3cf +refs/heads/master: 5d381efb3d1f1ef10535a31ca0dd9b22fe1e1922 diff --git a/trunk/block/elevator.c b/trunk/block/elevator.c index 99838f460b44..91e18f8af9be 100644 --- a/trunk/block/elevator.c +++ b/trunk/block/elevator.c @@ -515,7 +515,6 @@ static bool elv_attempt_insert_merge(struct request_queue *q, struct request *rq) { struct request *__rq; - bool ret; if (blk_queue_nomerges(q)) return false; @@ -529,21 +528,14 @@ static bool elv_attempt_insert_merge(struct request_queue *q, if (blk_queue_noxmerges(q)) return false; - ret = false; /* * See if our hash lookup can find a potential backmerge. */ - while (1) { - __rq = elv_rqhash_find(q, blk_rq_pos(rq)); - if (!__rq || !blk_attempt_req_merge(q, __rq, rq)) - break; - - /* The merged request could be merged with others, try again */ - ret = true; - rq = __rq; - } + __rq = elv_rqhash_find(q, blk_rq_pos(rq)); + if (__rq && blk_attempt_req_merge(q, __rq, rq)) + return true; - return ret; + return false; } void elv_merged_request(struct request_queue *q, struct request *rq, int type)