[libvirt] [PATCH 0/3] Fixes for issues caused by IOThreads

John Ferlan jferlan at redhat.com
Tue Sep 16 09:53:09 UTC 2014



On 09/16/2014 03:44 AM, shyu wrote:
> Hi John
> 
> With your patch and latest qemu-kvm, I can't start guest.
> 
> # rpm -q qemu-kvm
> qemu-kvm-1.5.3-70.el7.x86_64
> 
> # virsh start test
> error: Failed to start domain test
> error: internal error: unable to execute QEMU command 'query-iothreads':
> The command query-iothreads has not been found
> 

This is the gift that keeps on giving...  It's a caps thing. I'll send a
patch shortly, for a preview...

diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 0df041a..f02f305 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -2105,6 +2105,9 @@ qemuProcessDetectIOThreadPIDs(virQEMUDriverPtr driver,
     int ret = -1;
     size_t i;

+    if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_IOTHREAD))
+        return 0;
+
     /* Get the list of IOThreads from qemu */
     if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
         goto cleanup;

> On 09/16/2014 08:55 AM, Eric Blake wrote:
>> On 09/15/2014 06:13 PM, John Ferlan wrote:
>>> Well I guess it happens to everyone - hopefully only once though...
>> Yep, the brown bag of shame lets you learn from mistakes rather quickly :)
>>
>>> The IOThreads code really messed up a few things - git bisection for
>>> the build is broken as of 5f6ad32c733a3bd158938aecabb0508a434ece95,
>>> but that's resolved by 938fb12fad6d15c9fdb73f998c4e0ec1e278721f
>>> which adds the 'niothreadspin && iothreadspin' definitions.
>>>
>>> Secondarily it seems things got worse, because guests weren't able to
>>> be started because of a very bad logic error (<= 0 vs. < 0 and specific
>>> check that 0 is "OK" (meaning no IOThreads).
>>>
>>> How that got by own self testing I'm still not quite sure, but it did
>>> and it's a mea culpa for that.
>>>
>>> Anyway, patch 1 fixes the running issue... Patch 2 fixes some spacing
>>> issues that Eric pointed out privately (prefer "i + 1" vs. "i+1").
>>> Patch 3 just makes sure to use the right cgroup setup/init parameters
>>> since there is no "iothread0"
>>>
>>> John Ferlan (3):
>>>   qemu: Fix iothreads issue
>>>   qemu_cgroup: Adjust spacing around incrementor
>>>   qemu: Fix call in qemuDomainSetNumaParamsLive for virCgroupNewIOThread
>> Thanks for the fast fixes.  I confirm that patch 1 fixes the regression
>> in starting my dummy transient domain.  ACK series.
>>
>>
>>
>> --
>> libvir-list mailing list
>> libvir-list at redhat.com
>> https://www.redhat.com/mailman/listinfo/libvir-list
> 
> -- 
> Regards
> shyu
> 




More information about the libvir-list mailing list