[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Wait for the device to be connected on the guest (with a 10s timeout)



# HG changeset patch
# User vhanquez@xxxxxxxxxxxxxxxxxxxxxxx
# Node ID e0e68942b205b395fe99f7a338a448ddadd9c9fd
# Parent  5931e98cd744e4cc49640a72967112669197b495
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@xxxxxxxxx>

diff -r 5931e98cd744 -r e0e68942b205 
tools/xm-test/tests/block-destroy/06_block-destroy_check_list_pos.py
--- a/tools/xm-test/tests/block-destroy/06_block-destroy_check_list_pos.py      
Fri Apr 28 14:48:50 2006 +0100
+++ b/tools/xm-test/tests/block-destroy/06_block-destroy_check_list_pos.py      
Fri Apr 28 16:44:00 2006 +0100
@@ -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 checkXmLongList(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:

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.