From 6d3f1d516e89d593f27bedae59df6fc7404c7221 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Fri, 30 Nov 2007 22:51:54 +0000 Subject: [PATCH] Disable Xen specific functions if Xen driver is disabled --- ChangeLog | 6 ++++++ src/xml.c | 19 +++++-------------- src/xml.h | 2 ++ tests/xml2sexprtest.c | 10 ++++++++++ 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index a28061caea..7fb53b9f09 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri Nov 30 17:50:34 EST 2007 Daniel P. Berrange + + * src/xml.c, src/xml.h: Disable xen specific functions if + Xen driver is disabled. + * tests/xml2sexprtest.c: Disable if xen driver is disabled + Fri Nov 30 16:36:34 CET 2007 Jim Meyering Detect heap allocation failure; factor out some duplication. diff --git a/src/xml.c b/src/xml.c index b2bee98d12..c75b0ced81 100644 --- a/src/xml.c +++ b/src/xml.c @@ -57,7 +57,7 @@ virXMLError(virConnectPtr conn, virErrorNumber error, const char *info, * Parser and converter for the CPUset strings used in libvirt * * * ************************************************************************/ - +#if WITH_XEN /** * skipSpaces: * @str: pointer to the char pointer used @@ -448,6 +448,7 @@ virConvertCpuSet(virConnectPtr conn, const char *str, int maxcpu) { free(cpuset); return (res); } +#endif /* WITH_XEN */ #ifndef PROXY /************************************************************************ @@ -694,7 +695,7 @@ virXPathNodeSet(const char *xpath, xmlXPathContextPtr ctxt, * Converter functions to go from the XML tree to an S-Expr for Xen * * * ************************************************************************/ - +#if WITH_XEN /** * virtDomainParseXMLGraphicsDescImage: * @conn: pointer to the hypervisor connection @@ -1625,11 +1626,7 @@ virDomainParseXMLDesc(virConnectPtr conn, const char *xmldesc, char **name, str = virXPathString("string(/domain/vcpu/@cpuset)", ctxt); if (str != NULL) { -#ifdef WITH_XEN int maxcpu = xenNbCpus(conn); -#else - int maxcpu = 64; -#endif char *cpuset = NULL; char *ranges = NULL; const char *cur = str; @@ -1879,6 +1876,7 @@ virParseXMLDevice(virConnectPtr conn, const char *xmldesc, int hvm, goto cleanup; } + /** * virDomainXMLDevID: * @domain: pointer to domain object @@ -1901,9 +1899,7 @@ virDomainXMLDevID(virDomainPtr domain, const char *xmldesc, char *class, xmlNodePtr node, cur; xmlChar *attr = NULL; -#ifdef WITH_XEN char *xref; -#endif /* WITH_XEN */ int ret = 0; xml = xmlReadDoc((const xmlChar *) xmldesc, "device.xml", NULL, @@ -1925,7 +1921,6 @@ virDomainXMLDevID(virDomainPtr domain, const char *xmldesc, char *class, attr = xmlGetProp(cur, BAD_CAST "dev"); if (attr == NULL) goto error; -#ifdef WITH_XEN xref = xenStoreDomainGetDiskID(domain->conn, domain->id, (char *) attr); if (xref != NULL) { @@ -1934,11 +1929,9 @@ virDomainXMLDevID(virDomainPtr domain, const char *xmldesc, char *class, ref[ref_len - 1] = '\0'; goto cleanup; } -#else /* !WITH_XEN */ /* hack to avoid the warning that domain is unused */ if (domain->id < 0) ret = -1; -#endif /* !WITH_XEN */ goto error; } @@ -1952,7 +1945,6 @@ virDomainXMLDevID(virDomainPtr domain, const char *xmldesc, char *class, if (attr == NULL) goto error; -#ifdef WITH_XEN xref = xenStoreDomainGetNetworkID(domain->conn, domain->id, (char *) attr); if (xref != NULL) { @@ -1961,11 +1953,9 @@ virDomainXMLDevID(virDomainPtr domain, const char *xmldesc, char *class, ref[ref_len - 1] = '\0'; goto cleanup; } -#else /* !WITH_XEN */ /* hack to avoid the warning that domain is unused */ if (domain->id < 0) ret = -1; -#endif /* !WITH_XEN */ goto error; } @@ -1981,6 +1971,7 @@ virDomainXMLDevID(virDomainPtr domain, const char *xmldesc, char *class, xmlFree(attr); return ret; } +#endif /* WITH_XEN */ #endif /* !PROXY */ /* diff --git a/src/xml.h b/src/xml.h index 045ec4e62e..af87abc504 100644 --- a/src/xml.h +++ b/src/xml.h @@ -32,6 +32,7 @@ int virXPathNodeSet (const char *xpath, xmlXPathContextPtr ctxt, xmlNodePtr **list); +#if WITH_XEN int virParseXenCpuTopology(virConnectPtr conn, virBufferPtr xml, const char *str, @@ -60,6 +61,7 @@ int virDomainXMLDevID(virDomainPtr domain, char *class, char *ref, int ref_len); +#endif #ifdef __cplusplus } diff --git a/tests/xml2sexprtest.c b/tests/xml2sexprtest.c index 608a861b99..1f37b21cd5 100644 --- a/tests/xml2sexprtest.c +++ b/tests/xml2sexprtest.c @@ -1,7 +1,9 @@ + #include "config.h" #include #include +#include #include #include @@ -10,6 +12,8 @@ #include #endif +#if WITH_XEN + #include "xml.h" #include "testutils.h" #include "internal.h" @@ -354,3 +358,9 @@ main(int argc, char **argv) exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); } + +#else /* WITH_XEN */ + +int main (void) { exit (77); /* means 'test skipped' for automake */ } + +#endif /* ! WITH_XEN */