2010/5/26 Eric Blake <ebl...@redhat.com>: > Didn't have time to fix this today; virVirtualPortProfileFormat is > conditionally implemented based on PROXY, but unconditionally called. > Throwing it out there in case someone else wants to beat me to the fix. > > cc1: warnings being treated as errors > ../src/conf/domain_conf.c: In function 'virDomainNetDefFormat': > ../src/conf/domain_conf.c:5343: error: implicit declaration of function > 'virVirtualPortProfileFormat' [-Wimplicit-function-declaration] > ../src/conf/domain_conf.c:5343: error: nested extern declaration of > 'virVirtualPortProfileFormat' [-Wnested-externs] >
The virVirtualPortProfileFormat just went below the virVirtualPortProfileParamsParseXML function and got inside the #ifndef PROXY block this way. But it doesn't belong there. The attached patch moves virVirtualPortProfileFormat below the #ifndef PROXY block. Matthias
From 03af9fa300eea633bde36b7c12f15a472b8feaf9 Mon Sep 17 00:00:00 2001 From: Matthias Bolte <matthias.bo...@googlemail.com> Date: Wed, 26 May 2010 12:26:25 +0200 Subject: [PATCH] Fix xen-proxy build Move virVirtualPortProfileFormat below the #ifndef PROXY block, because it's called unconditional by virDomainNetDefFormat. Reported by Eric Blake. --- src/conf/domain_conf.c | 89 +++++++++++++++++++++++------------------------ 1 files changed, 44 insertions(+), 45 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index f155f96..dfdb0d8 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -1952,50 +1952,6 @@ err_exit: } -static void -virVirtualPortProfileFormat(virBufferPtr buf, - virVirtualPortProfileParamsPtr virtPort, - const char *indent) -{ - char uuidstr[VIR_UUID_STRING_BUFLEN]; - - if (virtPort->virtPortType == VIR_VIRTUALPORT_NONE) - return; - - virBufferVSprintf(buf, "%s<virtualport type='%s'>\n", - indent, - virVirtualPortTypeToString(virtPort->virtPortType)); - - switch (virtPort->virtPortType) { - case VIR_VIRTUALPORT_NONE: - case VIR_VIRTUALPORT_TYPE_LAST: - break; - - case VIR_VIRTUALPORT_8021QBG: - virUUIDFormat(virtPort->u.virtPort8021Qbg.instanceID, - uuidstr); - virBufferVSprintf(buf, - "%s <parameters managerid='%d' typeid='%d' " - "typeidversion='%d' instanceid='%s'/>\n", - indent, - virtPort->u.virtPort8021Qbg.managerID, - virtPort->u.virtPort8021Qbg.typeID, - virtPort->u.virtPort8021Qbg.typeIDVersion, - uuidstr); - break; - - case VIR_VIRTUALPORT_8021QBH: - virBufferVSprintf(buf, - "%s <parameters profileid='%s'/>\n", - indent, - virtPort->u.virtPort8021Qbh.profileID); - break; - } - - virBufferVSprintf(buf, "%s</virtualport>\n", indent); -} - - /* Parse the XML definition for a network interface * @param node XML nodeset to parse for net definition * @return 0 on success, -1 on failure @@ -3774,8 +3730,51 @@ virDomainDeviceDefPtr virDomainDeviceDefParse(virCapsPtr caps, VIR_FREE(dev); return NULL; } -#endif +#endif /* !PROXY */ + + +static void +virVirtualPortProfileFormat(virBufferPtr buf, + virVirtualPortProfileParamsPtr virtPort, + const char *indent) +{ + char uuidstr[VIR_UUID_STRING_BUFLEN]; + + if (virtPort->virtPortType == VIR_VIRTUALPORT_NONE) + return; + + virBufferVSprintf(buf, "%s<virtualport type='%s'>\n", + indent, + virVirtualPortTypeToString(virtPort->virtPortType)); + + switch (virtPort->virtPortType) { + case VIR_VIRTUALPORT_NONE: + case VIR_VIRTUALPORT_TYPE_LAST: + break; + + case VIR_VIRTUALPORT_8021QBG: + virUUIDFormat(virtPort->u.virtPort8021Qbg.instanceID, + uuidstr); + virBufferVSprintf(buf, + "%s <parameters managerid='%d' typeid='%d' " + "typeidversion='%d' instanceid='%s'/>\n", + indent, + virtPort->u.virtPort8021Qbg.managerID, + virtPort->u.virtPort8021Qbg.typeID, + virtPort->u.virtPort8021Qbg.typeIDVersion, + uuidstr); + break; + case VIR_VIRTUALPORT_8021QBH: + virBufferVSprintf(buf, + "%s <parameters profileid='%s'/>\n", + indent, + virtPort->u.virtPort8021Qbh.profileID); + break; + } + + virBufferVSprintf(buf, "%s</virtualport>\n", indent); +} int virDomainDiskInsert(virDomainDefPtr def, virDomainDiskDefPtr disk) -- 1.7.0.4
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list