[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] libxl: do not start a xenpv qemu solely for tap devices if blktap is available
# HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxx> # Date 1300184217 0 # Node ID 1e18165335b02171ae1ff2ba426086004c34938c # Parent 3b7471b486b5282138fbe202f996ea80230252b3 libxl: do not start a xenpv qemu solely for tap devices if blktap is available qemu is used as a fallback for DISK_BACKEND_TAP if no blktap is available but if blktap is available, or for DISK_BACKEND_PHY, we don't need a qemu process. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> diff -r 3b7471b486b5 -r 1e18165335b0 tools/libxl/libxl_dm.c --- a/tools/libxl/libxl_dm.c Tue Mar 15 10:07:09 2011 +0000 +++ b/tools/libxl/libxl_dm.c Tue Mar 15 10:16:57 2011 +0000 @@ -840,8 +840,29 @@ int libxl__need_xenpv_qemu(libxl_ctx *ct goto out; } - if (nr_disks > 0 && !libxl__blktap_enabled(&gc)) - ret = 1; + if (nr_disks > 0) { + int blktap_enabled = -1; + for (i = 0; i < nr_disks; i++) { + switch (disks[i].backend) { + case DISK_BACKEND_TAP: + if (blktap_enabled == -1) + blktap_enabled = libxl__blktap_enabled(&gc); + if (!blktap_enabled) { + ret = 1; + goto out; + } + break; + + case DISK_BACKEND_QDISK: + ret = 1; + goto out; + + case DISK_BACKEND_PHY: + case DISK_BACKEND_UNKNOWN: + break; + } + } + } out: libxl__free_all(&gc); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |