[libvirt] [PATCH] qemu: fix not end the job after use OpenGraphics(FD) and get fail when exit monitor

lhuang lhuang at redhat.com
Wed Jul 1 09:07:37 UTC 2015


On 07/01/2015 02:15 PM, Martin Kletzander wrote:
> On Tue, Jun 30, 2015 at 11:35:13AM +0800, Luyao Huang wrote:
>> If guest unexpect exit(qemu process be killed) and get failed when
>> exit the monitor, guest job still handled by old function, this will
>> make guest cannot start later.
>> Need call qemuDomainObjEndJob to release job status before unref vm.
>>
>> Signed-off-by: Luyao Huang <lhuang at redhat.com>
>> ---
>
> ACK and safe for freeze.  I'll push it in a while with modified commit
> message.
>

Thanks a lot for your quick review and help.

Luyao
>> src/qemu/qemu_driver.c | 8 ++------
>> 1 file changed, 2 insertions(+), 6 deletions(-)
>>
>> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
>> index 2b530c8..b1c9f08 100644
>> --- a/src/qemu/qemu_driver.c
>> +++ b/src/qemu/qemu_driver.c
>> @@ -17255,10 +17255,8 @@ qemuDomainOpenGraphics(virDomainPtr dom,
>>     qemuDomainObjEnterMonitor(driver, vm);
>>     ret = qemuMonitorOpenGraphics(priv->mon, protocol, fd, "graphicsfd",
>>                                   (flags & 
>> VIR_DOMAIN_OPEN_GRAPHICS_SKIPAUTH) != 0);
>> -    if (qemuDomainObjExitMonitor(driver, vm) < 0) {
>> +    if (qemuDomainObjExitMonitor(driver, vm) < 0)
>>         ret = -1;
>> -        goto cleanup;
>> -    }
>>     qemuDomainObjEndJob(driver, vm);
>>
>>  cleanup:
>> @@ -17327,10 +17325,8 @@ qemuDomainOpenGraphicsFD(virDomainPtr dom,
>>     qemuDomainObjEnterMonitor(driver, vm);
>>     ret = qemuMonitorOpenGraphics(priv->mon, protocol, pair[1], 
>> "graphicsfd",
>>                                   (flags & 
>> VIR_DOMAIN_OPEN_GRAPHICS_SKIPAUTH));
>> -    if (qemuDomainObjExitMonitor(driver, vm) < 0) {
>> +    if (qemuDomainObjExitMonitor(driver, vm) < 0)
>>         ret = -1;
>> -        goto cleanup;
>> -    }
>>     qemuDomainObjEndJob(driver, vm);
>>     if (ret < 0)
>>         goto cleanup;
>> -- 
>> 1.8.3.1
>>
>> -- 
>> libvir-list mailing list
>> libvir-list at redhat.com
>> https://www.redhat.com/mailman/listinfo/libvir-list




More information about the libvir-list mailing list