mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 02:30:03 +01:00
Wait for the device to be connected on the guest (with a 10s timeout)
before detaching it. Fix a race condition that dom0 was tearing down the block device while the guest was putting it in a Connected state. Signed-off-by: Vincent Hanquez <vincent@snarc.org>
This commit is contained in:
1 parent
48584e1773
commit
4fabe234e8
1 file changed
+11
-1
@@ -26,6 +26,12 @@ def checkXmLongList(domain):
|
||||
else:
|
||||
return False
|
||||
|
||||
def checkBlockState(domain):
|
||||
s, o = traceCommand("xm block-list %s | awk '{print $4}' |tail -n 1" % domain.getName())
|
||||
if s != 0:
|
||||
FAIL("block-list failed")
|
||||
return int(o)
|
||||
|
||||
if ENABLE_HVM_SUPPORT:
|
||||
SKIP("Block-detach not supported for HVM domains")
|
||||
|
||||
@@ -46,7 +52,11 @@ if not checkBlockList(domain):
|
||||
if not checkXmLongList(domain):
|
||||
FAIL("xm long list does not show that hda1 was attached")
|
||||
|
||||
time.sleep(2)
|
||||
for i in range(1, 10):
|
||||
time.sleep(1)
|
||||
state = checkBlockState(domain)
|
||||
if state == 4:
|
||||
break
|
||||
|
||||
s, o = traceCommand("xm block-detach %s hda1" % domain.getName())
|
||||
if s != 0:
|
||||
|
||||