Index: xen-3.3.1-testing/tools/blktap/drivers/blktapctrl.c =================================================================== --- xen-3.3.1-testing.orig/tools/blktap/drivers/blktapctrl.c +++ xen-3.3.1-testing/tools/blktap/drivers/blktapctrl.c @@ -245,8 +245,15 @@ static int del_disktype(blkif_t *blkif) DPRINTF("DEL_DISKTYPE: Freeing entry\n"); free(entry); +#ifdef ALWAYS_USE_IOEMU + return 0; +#else /* Caller should close() if no single controller, or list is empty. */ - return (!dtypes[type]->single_handler || (active_disks[type] == NULL)); + /* tapdisk-ioemu is a single controller regardless of single_hander + (TODO: This needs to be per-domain in fact) */ + return ((!dtypes[type]->single_handler && !dtypes[type]->use_ioemu) + || (active_disks[type] == NULL)); +#endif } static int write_msg(int fd, int msgtype, void *ptr, void *ptr2)