diff -ur a/drivers/xen/blkback/blkback.c b/drivers/xen/blkback/blkback.c --- a/drivers/xen/blkback/blkback.c 2009-08-15 16:53:47.000000000 +0800 +++ b/drivers/xen/blkback/blkback.c 2009-08-16 06:15:19.000000000 +0800 @@ -203,11 +203,11 @@ static void refill_credit(blkif_t *blkif) { blkif->credit_time = jiffies + msecs_to_jiffies(blkif->credit_msec); - blkif->available_credit += blkif->credit_req; + blkif->remaining_credit += blkif->credit_req; /* this allows for bursting. */ - if (blkif->available_credit > (blkif->credit_req * blkif->credit_msec)) - blkif->available_credit = blkif->credit_req; + if (blkif->remaining_credit > (blkif->credit_req * blkif->credit_msec)) + blkif->remaining_credit = blkif->credit_req; } int blkif_schedule(void *arg) diff -ur a/drivers/xen/blkback/xenbus.c b/drivers/xen/blkback/xenbus.c --- a/drivers/xen/blkback/xenbus.c 2009-08-15 16:53:47.000000000 +0800 +++ b/drivers/xen/blkback/xenbus.c 2009-08-16 11:35:34.000000000 +0800 @@ -265,7 +265,7 @@ /* Default to unlimited I/O operations. */ *credit = ~0UL; - *usec = 0; + *msec = 0; ratestr = xenbus_read(xbt, dev->nodename, "credit", NULL); if (IS_ERR(ratestr)) @@ -288,6 +288,7 @@ return; fail: +#define WPRINTK(fmt, args...) \ WPRINTK("Failed to parse I/O credit limit. I/O operations are unlimited.\n"); kfree(ratestr); }