File blktap-control-socket-race.patch of Package xen.1317

References: bnc#919098

Index: xen-4.4.1-testing/tools/blktap/drivers/blktapctrl.c
===================================================================
--- xen-4.4.1-testing.orig/tools/blktap/drivers/blktapctrl.c
+++ xen-4.4.1-testing/tools/blktap/drivers/blktapctrl.c
@@ -570,13 +570,13 @@ static int connect_qemu(blkif_t *blkif,
 		 * disconnected. Check if it is still running.
 		 */
 		if (tapdisk_ioemu_pid == 0 || kill(tapdisk_ioemu_pid, 0)) {
+			dom0_readfd = open_ctrl_socket(wrctldev);
+			dom0_writefd = open_ctrl_socket(rdctldev);
+
 			/* No device model and tapdisk-ioemu doesn't run yet */
 			DPRINTF("Launching tapdisk-ioemu\n");
 			launch_tapdisk_ioemu();
 			
-			dom0_readfd = open_ctrl_socket(wrctldev);
-			dom0_writefd = open_ctrl_socket(rdctldev);
-
 			refresh_pid = 1;
 		}
 
openSUSE Build Service is sponsored by