diff --git a/ChangeLog b/ChangeLog index 7cdbe47957..a103c59398 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Nov 8 14:01:11 CET 2006 Daniel Veillard + + * src/libvirt.c src/proxy_internal.c src/xs_internal.c: fix the + patch for rhbz#214264 in the case of Domain 0 on Xen and push the + defaulting to "linux" down to the xen specific parts. + Tue Nov 7 16:17:23 EDT 2006 Daniel P. Berrange * python/generator.py: Pass in connection object when generating diff --git a/src/libvirt.c b/src/libvirt.c index bb4edb310e..12e3116c8c 100644 --- a/src/libvirt.c +++ b/src/libvirt.c @@ -1256,9 +1256,6 @@ virDomainGetOSType(virDomainPtr domain) } } - if (str == NULL) - str = strdup("linux"); - return (str); } diff --git a/src/proxy_internal.c b/src/proxy_internal.c index 8ef2511c36..0a9d418bf7 100644 --- a/src/proxy_internal.c +++ b/src/proxy_internal.c @@ -1018,6 +1018,10 @@ xenProxyDomainGetOSType(virDomainPtr domain) xenProxyClose(domain->conn); return(NULL); } + if ((ans.len == sizeof(virProxyPacket)) && (ans.data.arg < 0)) { + return(NULL); + } + if (ans.len <= sizeof(virProxyPacket)) { virProxyError(domain->conn, VIR_ERR_OPERATION_FAILED, __FUNCTION__); return (NULL); diff --git a/src/xs_internal.c b/src/xs_internal.c index a687ea9a5b..db2b9dfe4e 100644 --- a/src/xs_internal.c +++ b/src/xs_internal.c @@ -683,6 +683,8 @@ xenStoreDomainGetOSType(virDomainPtr domain) { str = virDomainGetVMInfo(domain, vm, "image/ostype"); free(vm); } + if (str == NULL) + str = strdup("linux"); return (str); } @@ -763,6 +765,9 @@ xenStoreDomainGetOSTypeID(virConnectPtr conn, int id) { str = xs_read(conn->xshandle, 0, &query[0], &len); free(vm); } + if (str == NULL) + str = strdup("linux"); + return (str); }