summaryrefslogtreecommitdiffstats
path: root/drivers/block/cfq-iosched.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@suse.de>2005-08-02 20:08:02 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2005-08-02 20:19:18 +0200
commitd7ed538a02c219119adb20f1dccbf0f8015e53f3 (patch)
treed716ae7dc2e986b36c8180333839312dc0eab7e2 /drivers/block/cfq-iosched.c
parent[PATCH] aic byteorder fixes after recent cleanup (diff)
downloadlinux-d7ed538a02c219119adb20f1dccbf0f8015e53f3.tar.xz
linux-d7ed538a02c219119adb20f1dccbf0f8015e53f3.zip
[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 <axboe@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/block/cfq-iosched.c')
-rw-r--r--drivers/block/cfq-iosched.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/cfq-iosched.c b/drivers/block/cfq-iosched.c
index de5746e38af9..2435a7c99b2b 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;