diff options
author | Jens Axboe <axboe@suse.de> | 2005-08-02 18:08:02 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-02 18:19:18 (GMT) |
commit | d7ed538a02c219119adb20f1dccbf0f8015e53f3 (patch) | |
tree | d716ae7dc2e986b36c8180333839312dc0eab7e2 /drivers | |
parent | f7c80c9f77b0e8a59a19506fd3caf323408a5166 (diff) | |
download | linux-d7ed538a02c219119adb20f1dccbf0f8015e53f3.tar.xz |
[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')
-rw-r--r-- | drivers/block/cfq-iosched.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/cfq-iosched.c b/drivers/block/cfq-iosched.c index de5746e..2435a7c 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; |