barrier variable is int, not long. This overflow caused another variable
override: err (in PV code) and binfo (in xenlinux code).

--- linux-2.6.38.3/drivers/xen/blkfront/blkfront.c.orig	2011-05-02 01:56:29.572723580 +0200
+++ linux-2.6.38.3/drivers/xen/blkfront/blkfront.c	2011-05-02 12:44:20.512128661 +0200
@@ -364,7 +364,7 @@
 	}
 
 	err = xenbus_gather(XBT_NIL, info->xbdev->otherend,
-			    "feature-barrier", "%lu", &barrier,
+			    "feature-barrier", "%u", &barrier,
 			    NULL);
 	/*
 	 * If there's no "feature-barrier" defined, then it means
