From: Jamie Lokier <jamie@shareable.org>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v4] Stop VM on ENOSPC error.
Date: Tue, 20 Jan 2009 18:19:43 +0000 [thread overview]
Message-ID: <20090120181943.GC27464@shareable.org> (raw)
In-Reply-To: <18806.198.448290.48055@mariner.uk.xensource.com>
Ian Jackson wrote:
> Gleb Natapov writes ("Re: [Qemu-devel] [PATCH v4] Stop VM on ENOSPC error."):
> > I would like to abolish the blocking calls from all file formats, but in
> > reality it is almost impossible. Qcow2 metadata updates is a big mess to
> > do asynchronously. The best thing we can do is to move it to another thread.
>
> Err, I wasn't suggesting it should be done in each format in that way.
> It could be done once in block.c, before the specific format write
> method is called.
>
> So the formats would still write synchronously, and would pass errors
> up to their parent formats, until it reenters the generic block code
> where the retry would take place. At that point the call from the
> device emulation would necessariy be asynchronous.
Most of the block I/O is moving to threads anyway - if only to
"emulate" AIO.
If raw block I/O is going to use helper threads which do blocking I/O,
it may be just as fast, and much simpler, to put the QCOW2 format
block writes (including metadata) into those helper threads, instead
of (avoiding) rewriting QCOW2 to do everything with AIO calls.
-- Jamie
next prev parent reply other threads:[~2009-01-20 18:19 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-20 10:56 [Qemu-devel] [PATCH v4] Stop VM on ENOSPC error Gleb Natapov
2009-01-20 14:01 ` Ian Jackson
2009-01-20 14:16 ` Gleb Natapov
2009-01-20 14:57 ` Ian Jackson
2009-01-20 15:31 ` Gleb Natapov
2009-01-20 16:50 ` Ian Jackson
2009-01-20 18:19 ` Jamie Lokier [this message]
2009-01-20 18:23 ` Gleb Natapov
2009-01-21 16:37 ` Ian Jackson
2009-01-21 17:00 ` Gleb Natapov
2009-01-21 17:25 ` Ian Jackson
2009-01-21 18:01 ` Gleb Natapov
2009-01-22 12:39 ` Ian Jackson
2009-01-21 19:00 ` Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090120181943.GC27464@shareable.org \
--to=jamie@shareable.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).