qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] qemu exit with pending I/O


From: Paolo Bonzini
Subject: Re: [Qemu-block] qemu exit with pending I/O
Date: Mon, 27 Apr 2015 12:47:49 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0


On 16/04/2015 10:46, Peter Lieven wrote:
> 
> 
> I just run tests with the new libiscsi branch that allows async
> reconnects. I found that
> I cannot quit qemu while qemu is waiting for a reconnect to the storage.
> E.g.
> I start qemu and then shut down the storage. Qemu will then loop forever in
> bdrv_flush() and/or bdrv_drain_all().
> 
> It would be nice to be able to shut down qemu via normal quit and not have
> to kill it in such a case.

The reason to do this, is that while I/O is pending you do not know if
the I/O has been completed or not.

It's then possible that the I/O is completed after some writes from
another invocation of the VM, causing data corruption.  For the same
reason the NBD driver does not do timeouts.

Basically, bdrv_drain_all() is there to emulate nfs=hard.  You always
have SIGKILL, so it's not exactly the same, but leaving it out would
have the same problems as nfs=soft.

Paolo



reply via email to

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