On Tue, Jun 07, 2011 at 01:15:02PM +0100, Stefan Hajnoczi wrote:
> On Mon, Jun 6, 2011 at 5:55 PM, Marcelo Tosatti <mtosa...@redhat.com> wrote:
> 
> I haven't reviewed this whole patch yet, but comments below.
> 
> This patch, like image streaming, may hit deadlocks due to synchronous
> I/O emulation.  I discovered this problem when working on image
> streaming and it should be solved by getting rid of the asynchronous
> context concept.  The problem is that async I/O emulation will push a
> new context, preventing existing requests to complete until the
> current context is popped again.  If the image format has dependencies
> between requests (e.g. QED allocating writes are serialized), then
> this leads to deadlock because the new request cannot complete until
> the old one does, but the old one needs to wait for the context to be
> popped.  I think you are not affected by the QED allocating write case
> since the source image is only read, not written, by live block copy.
> But you might encounter this problem in other places.

I see. This should be fixed in the context push/pop logic (or something
equivalent), as you mention.

Fixed other comments, thanks.


Reply via email to