mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 02:30:03 +01:00
imported patch /home/emellor/block_detach.patch
This commit is contained in:
1 parent
240eceae66
commit
acbce46077
2 files changed
+14
-2
No files matched your search
@@ -78,8 +78,12 @@ class DevController:
|
||||
backpath = xstransact.Read(frontpath, "backend")
|
||||
|
||||
xstransact.Remove(frontpath)
|
||||
xstransact.Remove(backpath)
|
||||
|
||||
if backpath:
|
||||
xstransact.Remove(backpath)
|
||||
else:
|
||||
raise VmError("Device not connected")
|
||||
|
||||
|
||||
def configurations(self):
|
||||
return map(lambda x: self.configuration(int(x)),
|
||||
|
||||
@@ -166,6 +166,9 @@ def handle_xend_error(cmd, dom, ex):
|
||||
if error == "Not found" and dom != None:
|
||||
err("Domain '%s' not found when running 'xm %s'" % (dom, cmd))
|
||||
sys.exit(1)
|
||||
elif error == "Exception: Device not connected":
|
||||
err("Device not connected")
|
||||
sys.exit(1)
|
||||
else:
|
||||
raise ex
|
||||
|
||||
@@ -532,7 +535,12 @@ def xm_block_detach(args):
|
||||
arg_check(args,2,"block-detach")
|
||||
|
||||
dom = args[0]
|
||||
dev = args[1]
|
||||
|
||||
try:
|
||||
dev = int(args[1])
|
||||
except ValueError, e:
|
||||
err("Invalid device id: %s" % args[1])
|
||||
sys.exit(1)
|
||||
|
||||
from xen.xend.XendClient import server
|
||||
server.xend_domain_device_destroy(dom, 'vbd', dev)
|
||||
|
||||