404507
From 0597400171b44e0d180196b2c04da72f8b1f225f Mon Sep 17 00:00:00 2001
404507
Message-Id: <0597400171b44e0d180196b2c04da72f8b1f225f@dist-git>
404507
From: Jiri Denemark <jdenemar@redhat.com>
404507
Date: Thu, 2 Nov 2017 19:58:00 +0100
404507
Subject: [PATCH] conf: Don't inline virDomainNetTypeSharesHostView
404507
404507
When coverage build is enabled, gcc complains about it:
404507
404507
In file included from qemu/qemu_agent.h:29:0,
404507
                 from qemu/qemu_driver.c:47:
404507
qemu/qemu_driver.c: In function 'qemuDomainSetInterfaceParameters':
404507
./conf/domain_conf.h:3397:1: error: inlining failed in call to
404507
'virDomainNetTypeSharesHostView': call is unlikely and code size would
404507
grow [-Werror=inline]
404507
 virDomainNetTypeSharesHostView(const virDomainNetDef *net)
404507
 ^
404507
404507
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
404507
(cherry picked from commit bce925dadaf8fe4693abee88fb68aa7ede9d209e)
404507
404507
https://bugzilla.redhat.com/show_bug.cgi?id=1472263
404507
404507
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
404507
---
404507
 src/conf/domain_conf.c   | 36 ++++++++++++++++++++++++++++++++++++
404507
 src/conf/domain_conf.h   | 37 +++----------------------------------
404507
 src/libvirt_private.syms |  1 +
404507
 3 files changed, 40 insertions(+), 34 deletions(-)
404507
404507
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
404507
index 77c20c6972..394afb0d80 100644
404507
--- a/src/conf/domain_conf.c
404507
+++ b/src/conf/domain_conf.c
404507
@@ -28082,3 +28082,39 @@ virDomainGenerateMachineName(const char *drivername,
404507
     virBufferCheckError(&buf;;
404507
     return virBufferContentAndReset(&buf;;
404507
 }
404507
+
404507
+
404507
+/**
404507
+ * virDomainNetTypeSharesHostView:
404507
+ * @net: interface
404507
+ *
404507
+ * Some types of interfaces "share" the host view. For instance,
404507
+ * for macvtap interface, every domain RX is the host RX too. And
404507
+ * every domain TX is host TX too. IOW, for some types of
404507
+ * interfaces guest and host are on the same side of RX/TX
404507
+ * barrier. This is important so that we set up QoS correctly and
404507
+ * report proper stats.
404507
+ */
404507
+bool
404507
+virDomainNetTypeSharesHostView(const virDomainNetDef *net)
404507
+{
404507
+    virDomainNetType actualType = virDomainNetGetActualType(net);
404507
+    switch (actualType) {
404507
+    case VIR_DOMAIN_NET_TYPE_DIRECT:
404507
+    case VIR_DOMAIN_NET_TYPE_ETHERNET:
404507
+        return true;
404507
+    case VIR_DOMAIN_NET_TYPE_USER:
404507
+    case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
404507
+    case VIR_DOMAIN_NET_TYPE_SERVER:
404507
+    case VIR_DOMAIN_NET_TYPE_CLIENT:
404507
+    case VIR_DOMAIN_NET_TYPE_MCAST:
404507
+    case VIR_DOMAIN_NET_TYPE_NETWORK:
404507
+    case VIR_DOMAIN_NET_TYPE_BRIDGE:
404507
+    case VIR_DOMAIN_NET_TYPE_INTERNAL:
404507
+    case VIR_DOMAIN_NET_TYPE_HOSTDEV:
404507
+    case VIR_DOMAIN_NET_TYPE_UDP:
404507
+    case VIR_DOMAIN_NET_TYPE_LAST:
404507
+        break;
404507
+    }
404507
+    return false;
404507
+}
404507
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
404507
index 38de70b154..171f340785 100644
404507
--- a/src/conf/domain_conf.h
404507
+++ b/src/conf/domain_conf.h
404507
@@ -3382,40 +3382,9 @@ virDomainGenerateMachineName(const char *drivername,
404507
                              int id,
404507
                              const char *name,
404507
                              bool privileged);
404507
-/**
404507
- * virDomainNetTypeSharesHostView:
404507
- * @net: interface
404507
- *
404507
- * Some types of interfaces "share" the host view. For instance,
404507
- * for macvtap interface, every domain RX is the host RX too. And
404507
- * every domain TX is host TX too. IOW, for some types of
404507
- * interfaces guest and host are on the same side of RX/TX
404507
- * barrier. This is important so that we set up QoS correctly and
404507
- * report proper stats.
404507
- */
404507
-static inline bool
404507
-virDomainNetTypeSharesHostView(const virDomainNetDef *net)
404507
-{
404507
-    virDomainNetType actualType = virDomainNetGetActualType(net);
404507
-    switch (actualType) {
404507
-    case VIR_DOMAIN_NET_TYPE_DIRECT:
404507
-    case VIR_DOMAIN_NET_TYPE_ETHERNET:
404507
-        return true;
404507
-    case VIR_DOMAIN_NET_TYPE_USER:
404507
-    case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
404507
-    case VIR_DOMAIN_NET_TYPE_SERVER:
404507
-    case VIR_DOMAIN_NET_TYPE_CLIENT:
404507
-    case VIR_DOMAIN_NET_TYPE_MCAST:
404507
-    case VIR_DOMAIN_NET_TYPE_NETWORK:
404507
-    case VIR_DOMAIN_NET_TYPE_BRIDGE:
404507
-    case VIR_DOMAIN_NET_TYPE_INTERNAL:
404507
-    case VIR_DOMAIN_NET_TYPE_HOSTDEV:
404507
-    case VIR_DOMAIN_NET_TYPE_UDP:
404507
-    case VIR_DOMAIN_NET_TYPE_LAST:
404507
-        break;
404507
-    }
404507
-    return false;
404507
-}
404507
+
404507
+bool
404507
+virDomainNetTypeSharesHostView(const virDomainNetDef *net);
404507
 
404507
 bool
404507
 virDomainDefLifecycleActionAllowed(virDomainLifecycle type,
404507
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
404507
index 448d962b2d..811d9053e6 100644
404507
--- a/src/libvirt_private.syms
404507
+++ b/src/libvirt_private.syms
404507
@@ -444,6 +444,7 @@ virDomainNetInsert;
404507
 virDomainNetRemove;
404507
 virDomainNetRemoveHostdev;
404507
 virDomainNetTypeFromString;
404507
+virDomainNetTypeSharesHostView;
404507
 virDomainNetTypeToString;
404507
 virDomainNostateReasonTypeFromString;
404507
 virDomainNostateReasonTypeToString;
404507
-- 
404507
2.15.0
404507