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 [BLOCK] as-iosched: update alias handling 2006-01-06 09:39:03 +01:00
cfq-iosched.c [BLOCK] mark some block/ variables cons 2006-01-06 09:46:02 +01:00
deadline-iosched.c [BLOCK] mark some block/ variables cons 2006-01-06 09:46:02 +01:00
elevator.c [PATCH] fix queue stalling while barrier sequencing 2006-01-12 09:05:39 -08:00
genhd.c [PATCH] driver core: replace "hotplug" by "uevent" 2006-01-04 16:18:08 -08:00
ioctl.c [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
Kconfig [PATCH] s390: cleanup Kconfig 2006-01-06 08:33:53 -08:00
Kconfig.iosched [BLOCK] iosched: fix setting of default io scheduler 2005-11-04 08:44:58 +01:00
ll_rw_blk.c Merge branch 'blk-softirq' of git://brick.kernel.dk/data/git/linux-2.6-block 2006-01-09 09:26:40 -08:00
Makefile [BLOCK] Move all core block layer code to new block/ directory 2005-11-04 08:43:35 +01:00
noop-iosched.c [BLOCK] noop-iosched: reimplementation of request dispatching 2005-11-12 10:56:52 +01:00
scsi_ioctl.c [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00