mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 21:55:25 +00:00
qemu_validate: Check if QEMU's capable of setting <defaultiothread/> pool size
Since the main-loop and iothread classes are derived from the same class (EventLoopBaseClass) we don't need new capability and can use QEMU_CAPS_IOTHREAD_THREAD_POOL_MAX directly to check whether QEMU's capable of setting defaultiothread pool size. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
3e4bebb9d1
commit
94b71589f1
@ -389,18 +389,30 @@ qemuValidateDomainDefIOThreads(const virDomainDef *def,
|
||||
virQEMUCaps *qemuCaps)
|
||||
{
|
||||
size_t i;
|
||||
bool needsThreadPoolCap = false;
|
||||
|
||||
for (i = 0; i < def->niothreadids; i++) {
|
||||
virDomainIOThreadIDDef *iothread = def->iothreadids[i];
|
||||
|
||||
if ((iothread->thread_pool_min != -1 || iothread->thread_pool_max != -1) &&
|
||||
!virQEMUCapsGet(qemuCaps, QEMU_CAPS_IOTHREAD_THREAD_POOL_MAX)) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("thread_pool_min and thread_pool_max is not supported by this QEMU binary"));
|
||||
return -1;
|
||||
if (iothread->thread_pool_min != -1 || iothread->thread_pool_max != -1) {
|
||||
needsThreadPoolCap = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (def->defaultIOThread &&
|
||||
(def->defaultIOThread->thread_pool_min >= 0 ||
|
||||
def->defaultIOThread->thread_pool_max >= 0)) {
|
||||
needsThreadPoolCap = true;
|
||||
}
|
||||
|
||||
if (needsThreadPoolCap &&
|
||||
!virQEMUCapsGet(qemuCaps, QEMU_CAPS_IOTHREAD_THREAD_POOL_MAX)) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("thread_pool_min and thread_pool_max is not supported by this QEMU binary"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user