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:
vhanquez@kneesa.uk.xensource.com committed 2006-04-28 16:44:00 +01:00
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:
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.