[PATCH v2 1/7] qemu: Move qemuDiskConfigBlkdeviotuneHas* to conf

Michal Privoznik mprivozn at redhat.com
Wed Jan 29 07:54:12 UTC 2020


From: Nikolay Shirokovskiy <nshirokovskiy at virtuozzo.com>

And introduce virDomainBlockIoTuneInfoHasAny.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy at virtuozzo.com>
Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 src/conf/domain_conf.c   | 46 +++++++++++++++++++++++++++++++++++++
 src/conf/domain_conf.h   | 12 ++++++++++
 src/libvirt_private.syms |  4 ++++
 src/qemu/qemu_command.c  | 49 ++++------------------------------------
 4 files changed, 66 insertions(+), 45 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 9f7fe2aa78..c77901dfa0 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -31712,3 +31712,49 @@ virDomainGraphicsNeedsAutoRenderNode(const virDomainGraphicsDef *graphics)
 
     return true;
 }
+
+
+bool
+virDomainBlockIoTuneInfoHasBasic(const virDomainBlockIoTuneInfo *iotune)
+{
+    return iotune->total_bytes_sec ||
+           iotune->read_bytes_sec ||
+           iotune->write_bytes_sec ||
+           iotune->total_iops_sec ||
+           iotune->read_iops_sec ||
+           iotune->write_iops_sec;
+}
+
+
+bool
+virDomainBlockIoTuneInfoHasMax(const virDomainBlockIoTuneInfo *iotune)
+{
+    return iotune->total_bytes_sec_max ||
+           iotune->read_bytes_sec_max ||
+           iotune->write_bytes_sec_max ||
+           iotune->total_iops_sec_max ||
+           iotune->read_iops_sec_max ||
+           iotune->write_iops_sec_max ||
+           iotune->size_iops_sec;
+}
+
+
+bool
+virDomainBlockIoTuneInfoHasMaxLength(const virDomainBlockIoTuneInfo *iotune)
+{
+    return iotune->total_bytes_sec_max_length ||
+           iotune->read_bytes_sec_max_length ||
+           iotune->write_bytes_sec_max_length ||
+           iotune->total_iops_sec_max_length ||
+           iotune->read_iops_sec_max_length ||
+           iotune->write_iops_sec_max_length;
+}
+
+
+bool
+virDomainBlockIoTuneInfoHasAny(const virDomainBlockIoTuneInfo *iotune)
+{
+    return virDomainBlockIoTuneInfoHasBasic(iotune) ||
+           virDomainBlockIoTuneInfoHasMax(iotune) ||
+           virDomainBlockIoTuneInfoHasMaxLength(iotune);
+}
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 5d736e99c0..a037d9c2f2 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -3698,3 +3698,15 @@ virDomainGraphicsGetRenderNode(const virDomainGraphicsDef *graphics);
 
 bool
 virDomainGraphicsNeedsAutoRenderNode(const virDomainGraphicsDef *graphics);
+
+bool
+virDomainBlockIoTuneInfoHasBasic(const virDomainBlockIoTuneInfo *iotune);
+
+bool
+virDomainBlockIoTuneInfoHasMax(const virDomainBlockIoTuneInfo *iotune);
+
+bool
+virDomainBlockIoTuneInfoHasMaxLength(const virDomainBlockIoTuneInfo *iotune);
+
+bool
+virDomainBlockIoTuneInfoHasAny(const virDomainBlockIoTuneInfo *iotune);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 3608f73b4e..eea90ce0dc 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -226,6 +226,10 @@ virDomainActualNetDefFree;
 virDomainActualNetDefValidate;
 virDomainBlockedReasonTypeFromString;
 virDomainBlockedReasonTypeToString;
+virDomainBlockIoTuneInfoHasAny;
+virDomainBlockIoTuneInfoHasBasic;
+virDomainBlockIoTuneInfoHasMax;
+virDomainBlockIoTuneInfoHasMaxLength;
 virDomainBootTypeFromString;
 virDomainBootTypeToString;
 virDomainCapabilitiesPolicyTypeToString;
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 3378413ee1..f4b7251aab 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -1137,50 +1137,11 @@ qemuGetDriveSourceString(virStorageSourcePtr src,
 }
 
 
-static bool
-qemuDiskConfigBlkdeviotuneHasBasic(virDomainDiskDefPtr disk)
-{
-    return disk->blkdeviotune.total_bytes_sec ||
-           disk->blkdeviotune.read_bytes_sec ||
-           disk->blkdeviotune.write_bytes_sec ||
-           disk->blkdeviotune.total_iops_sec ||
-           disk->blkdeviotune.read_iops_sec ||
-           disk->blkdeviotune.write_iops_sec;
-}
-
-
-static bool
-qemuDiskConfigBlkdeviotuneHasMax(virDomainDiskDefPtr disk)
-{
-    return disk->blkdeviotune.total_bytes_sec_max ||
-           disk->blkdeviotune.read_bytes_sec_max ||
-           disk->blkdeviotune.write_bytes_sec_max ||
-           disk->blkdeviotune.total_iops_sec_max ||
-           disk->blkdeviotune.read_iops_sec_max ||
-           disk->blkdeviotune.write_iops_sec_max ||
-           disk->blkdeviotune.size_iops_sec;
-}
-
-
-static bool
-qemuDiskConfigBlkdeviotuneHasMaxLength(virDomainDiskDefPtr disk)
-{
-    return disk->blkdeviotune.total_bytes_sec_max_length ||
-           disk->blkdeviotune.read_bytes_sec_max_length ||
-           disk->blkdeviotune.write_bytes_sec_max_length ||
-           disk->blkdeviotune.total_iops_sec_max_length ||
-           disk->blkdeviotune.read_iops_sec_max_length ||
-           disk->blkdeviotune.write_iops_sec_max_length;
-}
-
-
 bool
 qemuDiskConfigBlkdeviotuneEnabled(virDomainDiskDefPtr disk)
 {
     return !!disk->blkdeviotune.group_name ||
-           qemuDiskConfigBlkdeviotuneHasBasic(disk) ||
-           qemuDiskConfigBlkdeviotuneHasMax(disk) ||
-           qemuDiskConfigBlkdeviotuneHasMaxLength(disk);
+           virDomainBlockIoTuneInfoHasAny(&disk->blkdeviotune);
 }
 
 
@@ -1198,9 +1159,7 @@ qemuCheckDiskConfigBlkdeviotune(virDomainDiskDefPtr disk,
 {
     /* group_name by itself is ignored by qemu */
     if (disk->blkdeviotune.group_name &&
-        !qemuDiskConfigBlkdeviotuneHasBasic(disk) &&
-        !qemuDiskConfigBlkdeviotuneHasMax(disk) &&
-        !qemuDiskConfigBlkdeviotuneHasMaxLength(disk)) {
+        !virDomainBlockIoTuneInfoHasAny(&disk->blkdeviotune)) {
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                        _("group_name can be configured only together with "
                          "settings"));
@@ -1228,7 +1187,7 @@ qemuCheckDiskConfigBlkdeviotune(virDomainDiskDefPtr disk,
 
     if (qemuCaps) {
         /* block I/O throttling 1.7 */
-        if (qemuDiskConfigBlkdeviotuneHasMax(disk) &&
+        if (virDomainBlockIoTuneInfoHasMax(&disk->blkdeviotune) &&
             !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE_MAX)) {
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                            _("there are some block I/O throttling parameters "
@@ -1246,7 +1205,7 @@ qemuCheckDiskConfigBlkdeviotune(virDomainDiskDefPtr disk,
         }
 
         /* block I/O throttling length 2.6 */
-        if (qemuDiskConfigBlkdeviotuneHasMaxLength(disk) &&
+        if (virDomainBlockIoTuneInfoHasMaxLength(&disk->blkdeviotune) &&
             !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE_MAX_LENGTH)) {
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                            _("there are some block I/O throttling length parameters "
-- 
2.24.1




More information about the libvir-list mailing list