[libvirt] [PATCH] qemuDomainObjBeginJob: Don't account DESTROY job to maxQueuedJobs

Michal Privoznik mprivozn at redhat.com
Wed Mar 7 12:04:02 UTC 2018


On 03/06/2018 05:20 PM, John Ferlan wrote:
> 
> 
> On 03/05/2018 04:36 AM, Michal Privoznik wrote:
>> When trying to destroy a domain (e.g. because we've seen EOF on
>> the monitor) we try to acquire QEMU_JOB_DESTROY. However, if
>> max_queued is set in qemu.conf this may fail and since our code
>> doesn't count on that we will still report domain as active even
>> though the qemu process is long gone. More specifically, if we've
>> seen EOF on the monitor, qemuProcessHandleMonitorEOF() is called
>> which sends MONITOR_EOF job to the event worker pool and
>> unregisters monitor from the event loop. The worker pool calls
>> processMonitorEOFEvent() which tries to set job which may fail
>> due to the limit as described above.
>>
>> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>> ---
>>  src/qemu/qemu_domain.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
> 
> Should the qemu.conf explanation be adjusted to specifically note that a
> DESTROY job does not count against the max queue jobs count?

I don't think so. The set of jobs we have in qemu driver is internal
implementation detail. It may change during releases and users have no
control over it.

> 
> Reviewed-by: John Ferlan <jferlan at redhat.com>

Pushed, thanks.

Michal




More information about the libvir-list mailing list