2010-05-14 00:45:32 +02:00
|
|
|
Index: libvirt-0.8.1/src/xen/xend_internal.c
|
2010-03-22 17:06:05 +01:00
|
|
|
===================================================================
|
2010-05-14 00:45:32 +02:00
|
|
|
--- libvirt-0.8.1.orig/src/xen/xend_internal.c
|
|
|
|
+++ libvirt-0.8.1/src/xen/xend_internal.c
|
2010-06-04 21:22:56 +02:00
|
|
|
@@ -1610,7 +1610,8 @@ xenDaemonParseSxprDisks(virDomainDefPtr
|
2010-03-22 17:06:05 +01:00
|
|
|
but blktap disks ended up in a differently named
|
|
|
|
(device (tap ....)) block.... */
|
|
|
|
if (sexpr_lookup(node, "device/vbd") ||
|
|
|
|
- sexpr_lookup(node, "device/tap")) {
|
|
|
|
+ sexpr_lookup(node, "device/tap") ||
|
|
|
|
+ sexpr_lookup(node, "device/tap2")) {
|
|
|
|
char *offset;
|
|
|
|
const char *src = NULL;
|
|
|
|
const char *dst = NULL;
|
2010-06-04 21:22:56 +02:00
|
|
|
@@ -1621,10 +1622,14 @@ xenDaemonParseSxprDisks(virDomainDefPtr
|
2010-03-22 17:06:05 +01:00
|
|
|
src = sexpr_node(node, "device/vbd/uname");
|
|
|
|
dst = sexpr_node(node, "device/vbd/dev");
|
|
|
|
mode = sexpr_node(node, "device/vbd/mode");
|
|
|
|
- } else {
|
|
|
|
+ } else if (sexpr_lookup(node, "device/tap")) {
|
|
|
|
src = sexpr_node(node, "device/tap/uname");
|
|
|
|
dst = sexpr_node(node, "device/tap/dev");
|
|
|
|
mode = sexpr_node(node, "device/tap/mode");
|
|
|
|
+ } else {
|
|
|
|
+ src = sexpr_node(node, "device/tap2/uname");
|
|
|
|
+ dst = sexpr_node(node, "device/tap2/dev");
|
|
|
|
+ mode = sexpr_node(node, "device/tap2/mode");
|
|
|
|
}
|
|
|
|
|
|
|
|
if (VIR_ALLOC(disk) < 0)
|