[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] 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 1300213187 0 # Node ID d4ca456c0c25c3c3daedc216c657296f2895482a # Parent 3caed2112c65791855e8bf0fd34c15e3160bbc78 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> Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- diff -r 3caed2112c65 -r d4ca456c0c25 tools/libxl/libxl_dm.c --- a/tools/libxl/libxl_dm.c Tue Mar 15 10:14:27 2011 +0000 +++ b/tools/libxl/libxl_dm.c Tue Mar 15 18:19:47 2011 +0000 @@ -828,8 +828,29 @@ 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-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |