On 10/12/2011 02:55 AM, Philipp Hahn wrote:
For some versions of Xen the difference between "tap" and "tap2" is important. When converting back from xen-sxpr to libvirt-xml, that information is lost, which breaks re-defining the domain using that data. Explicitly return "tap2" for disks defines as "device/tap2".
s/defines/defined/
Signed-off-by: Philipp Hahn<hahn@xxxxxxxxxxxxx> --- <https://forge.univention.org/bugzilla/show_bug.cgi?id=22017> src/xenxs/xen_sxpr.c | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/xenxs/xen_sxpr.c b/src/xenxs/xen_sxpr.c index 038c6bb..4cfa9e8 100644 --- a/src/xenxs/xen_sxpr.c +++ b/src/xenxs/xen_sxpr.c @@ -391,14 +391,19 @@ xenParseSxprDisks(virDomainDefPtr def, goto error; } - if (VIR_ALLOC_N(disk->driverName, (offset-src)+1)< 0) - goto no_memory; - if (virStrncpy(disk->driverName, src, offset-src, - (offset-src)+1) == NULL) { - XENXS_ERROR(VIR_ERR_INTERNAL_ERROR, - _("Driver name %s too big for destination"), - src); - goto error; + if (sexpr_lookup(node, "device/tap2")&& STRPREFIX(src, "tap:")) { + if (!(disk->driverName = strdup("tap2"))) + goto error;
s/error/no_memory/
+ } else { + if (VIR_ALLOC_N(disk->driverName, (offset-src)+1)< 0)
Indentation is off. ACK with that fixed, so I pushed. -- Eric Blake eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list