ia64/xen-unstable

changeset 9608:8031bf331472

Stupidly forgot there is a separate waitqueue for free pending request
structures in blkback. Fix my changes to blkif_schedule().

Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Thu Apr 06 11:13:33 2006 +0100 (2006-04-06)
parents 937336f98c47
children d2705953c6d2
files linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c
line diff
     1.1 --- a/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c	Thu Apr 06 10:20:32 2006 +0100
     1.2 +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c	Thu Apr 06 11:13:33 2006 +0100
     1.3 @@ -225,8 +225,11 @@ int blkif_schedule(void *arg)
     1.4  	while (!kthread_should_stop()) {
     1.5  		wait_event_interruptible(
     1.6  			blkif->wq,
     1.7 -			(atomic_read(&blkif->io_pending) &&
     1.8 -			 !list_empty(&pending_free)) ||
     1.9 +			atomic_read(&blkif->io_pending) ||
    1.10 +			kthread_should_stop());
    1.11 +		wait_event_interruptible(
    1.12 +			pending_free_wq,
    1.13 +			!list_empty(&pending_free) ||
    1.14  			kthread_should_stop());
    1.15  
    1.16  		atomic_set(&blkif->io_pending, 0);