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: Peter Lieven
Subject: Re: [Qemu-block] qemu exit with pending I/O
Date: Mon, 27 Apr 2015 13:51:17 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

Am 27.04.2015 um 12:47 schrieb Paolo Bonzini:

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.

But if I consider a raw image, quitting without a clean shutdown can
also leave an inconsistent state?

Peter


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


--

Mit freundlichen Grüßen

Peter Lieven

...........................................................

  KAMP Netzwerkdienste GmbH
  Vestische Str. 89-91 | 46117 Oberhausen
  Tel: +49 (0) 208.89 402-50 | Fax: +49 (0) 208.89 402-40
  address@hidden | http://www.kamp.de

  Geschäftsführer: Heiner Lante | Michael Lante
  Amtsgericht Duisburg | HRB Nr. 12154
  USt-Id-Nr.: DE 120607556

...........................................................




reply via email to

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