diff -r 7dcfdd45bc9e tools/blktap2/README --- a/tools/blktap2/README Tue Jun 22 07:31:14 2010 +0100 +++ b/tools/blktap2/README Sun Jun 27 14:12:26 2010 +0400 @@ -84,7 +84,7 @@ followed by the driver type. e.g. for a raw image such as a file or partition: -disk = ['tap:tapdisk:aio:,sda1,w'] +disk = ['tap2:tapdisk:aio:,sda1,w'] Alternatively, the vhd-util tool (installed with make install, or in /blktap2/vhd) can be used to build sparse copy-on-write vhd images. @@ -108,7 +108,7 @@ VHD files can be mounted automatically in a guest similarly to the above AIO example simply by specifying the vhd driver. -disk = ['tap:tapdisk:vhd:,sda1,w'] +disk = ['tap2:tapdisk:vhd:,sda1,w'] Snapshots: diff -r 7dcfdd45bc9e tools/python/xen/util/blkif.py --- a/tools/python/xen/util/blkif.py Tue Jun 22 07:31:14 2010 +0100 +++ b/tools/python/xen/util/blkif.py Sun Jun 27 14:12:26 2010 +0400 @@ -87,7 +87,10 @@ fn = "/dev/%s" %(fn,) if typ in ("tap", "tap2"): - (taptype, fn) = fn.split(":", 1) + if fn.count(":") == 1: + (taptype, fn) = fn.split(":", 1) + else: + (taptype, fn) = fn.split(":", 2)[1:3] return (fn, taptype) def blkdev_uname_to_file(uname): diff -r 7dcfdd45bc9e tools/python/xen/xend/XendBootloader.py --- a/tools/python/xen/xend/XendBootloader.py Tue Jun 22 07:31:14 2010 +0100 +++ b/tools/python/xen/xend/XendBootloader.py Sun Jun 27 14:12:26 2010 +0400 @@ -38,10 +38,15 @@ msg = "Bootloader isn't executable" log.error(msg) raise VmError(msg) - if not os.access(disk, os.R_OK): - msg = "Disk isn't accessible" - log.error(msg) - raise VmError(msg) + attempt = 0 + while True: + if not os.access(disk, os.R_OK) and attempt > 3: + msg = "Disk isn't accessible" + log.error(msg) + raise VmError(msg) + else: + break + attempt = attempt + 1 if os.uname()[0] == "NetBSD" and disk.startswith('/dev/'): disk = disk.replace("/dev/", "/dev/r") diff -r 7dcfdd45bc9e tools/python/xen/xend/XendDomainInfo.py --- a/tools/python/xen/xend/XendDomainInfo.py Tue Jun 22 07:31:14 2010 +0100 +++ b/tools/python/xen/xend/XendDomainInfo.py Sun Jun 27 14:12:26 2010 +0400 @@ -3269,7 +3269,7 @@ log.info("Unmounting %s from %s." % (fn, BOOTLOADER_LOOPBACK_DEVICE)) - dom0.destroyDevice('tap', BOOTLOADER_LOOPBACK_DEVICE) + dom0.destroyDevice(devtype, BOOTLOADER_LOOPBACK_DEVICE, force = True) if blcfg is None: msg = "Had a bootloader specified, but can't find disk"