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);
+}
}
-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);
}
{
/* 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"));
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 "
}
/* 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 "