31 lines
1.4 KiB
Diff
31 lines
1.4 KiB
Diff
|
Index: libvirt-0.8.1/src/xen/xend_internal.c
|
||
|
===================================================================
|
||
|
--- libvirt-0.8.1.orig/src/xen/xend_internal.c
|
||
|
+++ libvirt-0.8.1/src/xen/xend_internal.c
|
||
|
@@ -1610,7 +1610,8 @@ xenDaemonParseSxprDisks(virDomainDefPtr
|
||
|
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;
|
||
|
@@ -1621,10 +1622,14 @@ xenDaemonParseSxprDisks(virDomainDefPtr
|
||
|
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)
|