mirror of https://gitee.com/openkylin/linux.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 <axboe@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
f7c80c9f77
commit
d7ed538a02
|
@ -1281,6 +1281,7 @@ static struct request *cfq_next_request(request_queue_t *q)
|
|||
*/
|
||||
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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue