From: Jens Axboe Date: Tue, 2 Aug 2005 18:08:02 +0000 (+0200) Subject: [PATCH] cfq-iosched: fix problem with barriers and max_depth == 1 X-Git-Tag: v2.6.13-rc6~81 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=d7ed538a02c219119adb20f1dccbf0f8015e53f3;p=linux-2.6-omap-h63xx.git [PATCH] cfq-iosched: fix problem with barriers and max_depth == 1 CFQ will currently stall when using write barriers and the default max_depth setting of 1, since we artificially need a depth of 2 when pre-pending the first flush. So never deny the barrier request going to the device. This is a regression since 2.6.12, it was found in SUSE testing. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds --- diff --git a/drivers/block/cfq-iosched.c b/drivers/block/cfq-iosched.c index de5746e38af..2435a7c99b2 100644 --- a/drivers/block/cfq-iosched.c +++ b/drivers/block/cfq-iosched.c @@ -1281,6 +1281,7 @@ dispatch: */ if (!cfq_crq_in_driver(crq) && !cfq_cfqq_idle_window(cfqq) && + !blk_barrier_rq(rq) && cfqd->rq_in_driver >= cfqd->cfq_max_depth) return NULL;