[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 2/2] virtio-blk: Use blk_drain() to drain IO
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v3 2/2] virtio-blk: Use blk_drain() to drain IO requests |
Date: |
Tue, 30 Jun 2015 14:52:08 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Mon, Jun 29, 2015 at 08:10:20AM +0200, Markus Armbruster wrote:
> Alexander Yarygin <address@hidden> writes:
> > Markus Armbruster <address@hidden> writes:
> > * Ignorant answer: I was told that the bdrv_drain_all()'s comment is
> > obsolete and we can use bdrv_drain(). Here is a link to the old
> > thread: http://marc.info/?l=qemu-devel&m=143154211017926&w=2.
>
> Kevin, Stefan, if the comment has become wrong, it needs to be redone.
> Who's going to take care of it?
I couldn't think of a scenario where this patch is unsafe.
The danger is that the I/O code path depends on something outside the
AioContext. In that case you block in aio_poll(aio_context, true)
forever without making progress. The thing the I/O request depends on
will never finish.
Code that accesses multiple BDSes puts them into the same AioContext, so
this should not be a problem in practice.
Stefan
pgpSyQdJb5V3N.pgp
Description: PGP signature
[Qemu-devel] [PATCH v3 1/2] block-backend: Introduce blk_drain(), Alexander Yarygin, 2015/06/17
Re: [Qemu-devel] [PATCH v3 0/2] Fix slow startup with many disks, Stefan Hajnoczi, 2015/06/18