From: Markus Armbruster <armbru@redhat.com>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Max Reitz <mreitz@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
Qemu-block <qemu-block@nongnu.org>
Subject: Re: [Qemu-devel] Raw notes from a small block layer/QAPI/something pre-christmas meeting
Date: Wed, 20 Dec 2017 19:15:55 +0100 [thread overview]
Message-ID: <87ind16zac.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20171220111133.GR21216@redhat.com> (Daniel P. Berrange's message of "Wed, 20 Dec 2017 11:11:33 +0000")
"Daniel P. Berrange" <berrange@redhat.com> writes:
> On Fri, Dec 15, 2017 at 05:38:00PM +0100, Max Reitz wrote:
>
>> Image creation in qemu-system-* vs. qemu-img:
>> In order to get proper introspection for qemu-img create, we need a
>> QAPI schema. If we have a QAPI schema, we might as well add
>> blockdev-create to QMP.
>> As long as we do not have a really-none (null, void, ...) machine type
>> for qemu-system-*, launching such a process just for creating an image
>> will bring quite a bit of overhead (e.g. with -M none -accel qtest).
>> However, as for libvirt, this is not exactly a regression since
>> libvirt currently cannot create images at all (apart from implicitly
>> through drive-mirror etc.). Further work on voidifying qemu-system-*
>> will improve performance.
>
> In terms of the I/O operations involved, image creation is a already a
> pretty slow process, particularly if pre-allocation is used which is
> common. So even QEMU's current slow (circa 300ms) startup time is a
> complete non-issue for image creation IMHO - it'll be dwarfed by the
> time to actually create the image.
>
>> On the other side, we can also add QAPI introspection to qemu-img.
>> (qemu-img already links to QAPI, so this should not be too hard.)
>> qemu-img will also need command-line introspection, though.
>
> I figure the qapi-ificiation is the hard & time consuming bit of
> work. Once that's done exporting it via both qemu-img & qemu-system*
> is quite straighforward.
qemu-system-*: trivial.
qemu-img, via command line: straightforward
qemu-img, via QMP: more difficult, since QMP is entangled with HMP,
character devices, ...
If libvirt really wants to use QMP for the job, *and* doesn't want to
use the qemu-system-* that's running a guest, the easy solution is
running another qemu-system-* without a guest.
>> Plan B:
>> libvirt can use qemu-img now with the currently supported options,
>> and as soon as libvirt needs anything better, we will have something
>> better done.
>> (Also, there is "qemu-img create -f $format -o help"! Because
>> parsing help texts has worked so well in the past.)
>
> Regards,
> Daniel
next prev parent reply other threads:[~2017-12-20 18:16 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-15 16:38 [Qemu-devel] Raw notes from a small block layer/QAPI/something pre-christmas meeting Max Reitz
2017-12-18 10:11 ` Markus Armbruster
2017-12-20 10:44 ` [Qemu-devel] [Qemu-block] " Kashyap Chamarthy
2017-12-20 10:57 ` Daniel P. Berrange
2017-12-20 11:29 ` Kashyap Chamarthy
2017-12-20 13:33 ` Kevin Wolf
2017-12-20 13:40 ` Daniel P. Berrange
2017-12-21 12:04 ` Peter Krempa
2017-12-20 11:11 ` [Qemu-devel] " Daniel P. Berrange
2017-12-20 18:15 ` Markus Armbruster [this message]
2018-01-08 15:12 ` [Qemu-devel] [Qemu-block] " Peter Krempa
2017-12-22 11:01 ` [Qemu-devel] " Vladimir Sementsov-Ogievskiy
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=87ind16zac.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.