]> xenbits.xensource.com Git - libvirt.git/commitdiff
domain: Add helper to determine presence of memory baloon
authorPeter Krempa <pkrempa@redhat.com>
Wed, 6 Apr 2016 13:02:31 +0000 (15:02 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 15 Apr 2016 12:27:08 +0000 (14:27 +0200)
src/conf/domain_conf.c
src/conf/domain_conf.h
src/libvirt_private.syms
src/qemu/qemu_command.c
src/qemu/qemu_domain.c
src/qemu/qemu_driver.c
src/qemu/qemu_process.c

index 5952946557ddc65b02f3ea00d70acd00a87b541f..28248c8873080eb09db880e41072c939cf1ed4a5 100644 (file)
@@ -24316,3 +24316,17 @@ virDomainDefCheckDuplicateDiskInfo(virDomainDefPtr def)
 
     return 0;
 }
+
+
+/**
+ * virDomainDefHasMemballoon:
+ * @def: domain definition
+ *
+ * Returns true if domain has a memory ballooning device configured.
+ */
+bool
+virDomainDefHasMemballoon(const virDomainDef *def)
+{
+    return def->memballoon &&
+           def->memballoon->model != VIR_DOMAIN_MEMBALLOON_MODEL_NONE;
+}
index ef7358bb5778fc97b881928596cd7d43e9090c75..1986f5358dc64840b023dbee80086376777ce207 100644 (file)
@@ -3160,4 +3160,6 @@ int virDomainDefGetVcpuPinInfoHelper(virDomainDefPtr def,
                                      virBitmapPtr autoCpuset)
     ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(4) ATTRIBUTE_RETURN_CHECK;
 
+bool virDomainDefHasMemballoon(const virDomainDef *def) ATTRIBUTE_NONNULL(1);
+
 #endif /* __DOMAIN_CONF_H */
index 4ef51f04b0409a039d5d8253d0bcdffbd7089249..b626fd237cb7cc23c8cece1376b326d60b6eb2f1 100644 (file)
@@ -225,6 +225,7 @@ virDomainDefGetVcpuPinInfoHelper;
 virDomainDefGetVcpus;
 virDomainDefGetVcpusMax;
 virDomainDefHasDeviceAddress;
+virDomainDefHasMemballoon;
 virDomainDefHasMemoryHotplug;
 virDomainDefHasVcpusOffline;
 virDomainDefMaybeAddController;
index b3603abcb6f12f2630ed5151d16ef576eec4cd8b..26c19ff55b020b14c41d1135be56960b6b50b3f4 100644 (file)
@@ -3481,8 +3481,7 @@ qemuBuildMemballoonCommandLine(virCommandPtr cmd,
         virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_S390) && def->memballoon)
         def->memballoon->model = VIR_DOMAIN_MEMBALLOON_MODEL_NONE;
 
-    if (!def->memballoon ||
-        def->memballoon->model == VIR_DOMAIN_MEMBALLOON_MODEL_NONE)
+    if (!virDomainDefHasMemballoon(def))
         return 0;
 
     if (def->memballoon->model != VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO) {
index c22d400415b2174bade3a3f3680fcd1e333ebb87..fa31954616b2178b7a13ee07bfb30712bfa50ce3 100644 (file)
@@ -4534,8 +4534,7 @@ qemuDomainUpdateCurrentMemorySize(virQEMUDriverPtr driver,
 
     /* if no balloning is available, the current size equals to the current
      * full memory size */
-    if (!vm->def->memballoon ||
-        vm->def->memballoon->model == VIR_DOMAIN_MEMBALLOON_MODEL_NONE) {
+    if (!virDomainDefHasMemballoon(vm->def)) {
         vm->def->mem.cur_balloon = virDomainDefGetMemoryActual(vm->def);
         return 0;
     }
index e79506239d94aa933e3c65047d3884c3b16daea6..718c5fe516607f7efdbbe35232705f1041188d8a 100644 (file)
@@ -19099,8 +19099,7 @@ qemuDomainGetStatsBalloon(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
     unsigned long long cur_balloon = 0;
     int err = 0;
 
-    if (dom->def->memballoon &&
-        dom->def->memballoon->model == VIR_DOMAIN_MEMBALLOON_MODEL_NONE) {
+    if (!virDomainDefHasMemballoon(dom->def)) {
         cur_balloon = virDomainDefGetMemoryActual(dom->def);
     } else if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BALLOON_EVENT)) {
         cur_balloon = dom->def->mem.cur_balloon;
index b1e270ff235ea9b40174e30e19dfa67198a35f1d..b6769bf2c6e0355313805fce6371822693d184dc 100644 (file)
@@ -2003,8 +2003,7 @@ qemuProcessRefreshBalloonState(virQEMUDriverPtr driver,
 
     /* if no ballooning is available, the current size equals to the current
      * full memory size */
-    if (!vm->def->memballoon ||
-        vm->def->memballoon->model == VIR_DOMAIN_MEMBALLOON_MODEL_NONE) {
+    if (!virDomainDefHasMemballoon(vm->def)) {
         vm->def->mem.cur_balloon = virDomainDefGetMemoryActual(vm->def);
         return 0;
     }
@@ -4456,8 +4455,7 @@ qemuProcessSetupBalloon(virQEMUDriverPtr driver,
     int period;
     int ret = -1;
 
-    if (!vm->def->memballoon ||
-        vm->def->memballoon->model == VIR_DOMAIN_MEMBALLOON_MODEL_NONE)
+    if (!virDomainDefHasMemballoon(vm->def))
         return 0;
 
     period = vm->def->memballoon->period;