]> git.ipfire.org Git - thirdparty/libvirt.git/commit
qemu: Track the API which started the current job
authorJiri Denemark <jdenemar@redhat.com>
Mon, 16 Mar 2015 17:18:46 +0000 (18:18 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Wed, 25 Mar 2015 09:00:54 +0000 (10:00 +0100)
commitb79f25e881cc2d82ec67398278ee073ebfe897ba
treefb6e8ed896ea0bcb6b4b468fb9d797b3a327c0c4
parent667cce7b60e9645794179fce7de3b161531e4145
qemu: Track the API which started the current job

This is very helpful when we want to log and report why we could not
acquire a state change lock. Reporting what job keeps it locked helps
with understanding the issue. Moreover, after calling
virDomainGetControlInfo, it's possible to tell whether libvirt is just
stuck somewhere within the API (or it just forgot to cleanup the job) or
whether libvirt is waiting for QEMU to reply.

The error message will look like the following:

    # virsh resume cd
    error: Failed to resume domain cd
    error: Timed out during operation: cannot acquire state change lock
    (held by remoteDispatchDomainSuspend)

https://bugzilla.redhat.com/show_bug.cgi?id=853839

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_domain.c
src/qemu/qemu_domain.h