linux/block
Tejun Heo 1bc691d357 [PATCH] fix queue stalling while barrier sequencing
If ordered tag isn't supported, request ordering for barrier
sequencing is performed by queue draining, which basically hangs the
request queue until elv_completed_request() reports completion of all
previous fs requests.

The condition check in elv_completed_request() was only performed for
fs requests.  If a special request is queued between the last
to-be-drained request and the barrier sequence, draining is never
completed and the queue is stalled forever.

This patch moves the end-of-draining condition check such that it's
performed for all requests.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-12 09:05:39 -08:00
..
as-iosched.c
cfq-iosched.c
deadline-iosched.c
elevator.c [PATCH] fix queue stalling while barrier sequencing 2006-01-12 09:05:39 -08:00
genhd.c
ioctl.c [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
Kconfig
Kconfig.iosched
ll_rw_blk.c
Makefile
noop-iosched.c
scsi_ioctl.c [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00