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;
}