qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [question] savevm/delvm: Is it necessary to perform bdr


From: Zhang Haoyu
Subject: Re: [Qemu-devel] [question] savevm/delvm: Is it necessary to perform bdrv_drain_all before savevm and delvm?
Date: Mon, 20 Oct 2014 23:09:30 +0800
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Thunderbird/24.4.0

>> Hi,
>>
>> I noticed that bdrv_drain_all is performed in load_vmstate before bdrv_snapshot_goto, >> and bdrv_drain_all is performed in qmp_transaction before internal_snapshot_prepare,
>> so is it also neccesary to perform bdrv_drain_all in savevm and delvm?
>
>Definitely yes for savevm. do_savevm() calls it indirectly via
>vm_stop(), so that part looks okay.
>
Yes, you are right.

>delvm doesn't affect the currently running VM, and therefore doesn't
>interfere with guest requests that are in flight. So I think that a
>bdrv_drain_all() isn't needed there.
>
I'm worried about that there are still pending IOs while deleting snapshot,
then is it possible that there is concurrency problem between the process of deleting snapshot and the coroutine of io read/write(bdrv_co_do_rw) invoked by the pending IOs?
This coroutine is also in main thread.
Am I missing something?

Thanks,
Zhang Haoyu

>Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]