File blktap2.patch of Package xen
Calling function doesn't handle an "Exception" but only VmError, thus cleanup work won't been done if using Exception.
Change it to VmError.
Signed-off-by ChunyanLiu <cyliu@novell.com>
Index: xen-4.0.2-testing/tools/python/xen/xend/server/BlktapController.py
===================================================================
--- xen-4.0.2-testing.orig/tools/python/xen/xend/server/BlktapController.py
+++ xen-4.0.2-testing/tools/python/xen/xend/server/BlktapController.py
@@ -4,6 +4,7 @@ import string, re
from xen.xend.server.blkif import BlkifController
from xen.xend.XendLogging import log
from xen.util.xpopen import xPopen3
+from xen.xend.XendError import VmError
phantomDev = 0;
phantomId = 0;
@@ -209,7 +210,7 @@ class Blktap2Controller(BlktapController
out = stdout.read();
stdout.close();
stderr.close();
- raise Exception, 'Failed to create device.\n stdout: %s\n stderr: %s\nCheck that target \"%s\" exists and that blktap2 driver installed in dom0.' % (out.rstrip(), err.rstrip(), file);
+ raise VmError('Failed to create device.\n stdout: %s\n stderr: %s\nCheck that target \"%s\" exists and that blktap2 driver installed in dom0.' % (out.rstrip(), err.rstrip(), file));
minor, device, control = parseDeviceString(stdout.readline())
stdout.close();