From: Eric Blake <eblake@redhat.com>
To: "Denis V. Lunev" <den@openvz.org>, Stefan Hajnoczi <stefanha@gmail.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>,
Juan Quintela <quintela@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 2.5 v5 0/11] dataplane snapshot fixes
Date: Mon, 9 Nov 2015 14:05:47 -0700 [thread overview]
Message-ID: <56410AAB.3010802@redhat.com> (raw)
In-Reply-To: <563D1806.40602@openvz.org>
[-- Attachment #1: Type: text/plain, Size: 2421 bytes --]
On 11/06/2015 02:13 PM, Denis V. Lunev wrote:
>> That is a case of using libvirt to trigger internal snapshots...
>>
>>> The HMP monitor is legacy and also not used by modern libvirt.
>> ...and libvirt is forced to use HMP for internal snapshots, since we
>> _still_ haven't exposed internal snapshots as a QMP command.
>
> Eric,
>
> by the way, there is a user visible bug with this too :))))))
>
> EFI based VM with pflash storage for NVRAM could not
> be snapshoted as libvirt configures storage as 'raw'.
> OK, this is a libvirt bug. The patch will be sent next
> week or in a week by my colleague switching storage
> type from 'raw' to 'qcow2'.
Not necessarily a bug in libvirt, so much as a limitation that the
current qemu implementation of internal snapshots requires qcow2 for all
storage devices (even though it might not be technically necessary, if
there were an easy way to snapshot state of one non-qcow2 storage
alongside the rest of the machine state stored elsewhere). But a
libvirt patch would certainly be useful.
>
> For a QEMU this results in the following:
> - QEMU receives command via HMP to make a snapshot
> - it fails, but QEMU does not see that fact (error code
> is not delivered to libvirt in HMP AFAIK)
Libvirt is still using QMP to deliver the HMP command (via the QMP
human-monitor-command); if I'm understanding your complaint correctly,
you are saying that qemu doesn't do error reporting correctly for that?
If so, fix that in qemu, although libvirt should also be able to work
around it when dealing with broken qemu.
> - on request to switch to snapshot the commands
> just do nothing and from the point of libvirt the command
> was successful
>
> We should have these commands even in the simple
> rudimentary current non-ideal form even just as wrappers
> around HMP functions.
>
> Do you have an opinion about importance of the last
> issue? Should it be considered for 2.6?
We've gone since 0.14 without anyone writing the remaining few QMP
commands to completely obsolete the need for human-monitor-command
backdoors into HMP. Volunteers are welcome to submit code to complete
the conversion, but the length of time it has taken so far may be an
indication that it is not as easy as you think.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
next prev parent reply other threads:[~2015-11-09 21:05 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-04 17:19 [Qemu-devel] [PATCH 2.5 v5 0/11] dataplane snapshot fixes Denis V. Lunev
2015-11-04 17:19 ` [Qemu-devel] [PATCH 01/11] snapshot: create helper to test that block drivers supports snapshots Denis V. Lunev
2015-11-05 6:26 ` Greg Kurz
2015-11-05 7:58 ` Denis V. Lunev
2015-11-06 13:53 ` Stefan Hajnoczi
2015-11-04 17:19 ` [Qemu-devel] [PATCH 02/11] snapshot: return error code from bdrv_snapshot_delete_by_id_or_name Denis V. Lunev
2015-11-05 7:55 ` Greg Kurz
2015-11-05 8:02 ` Denis V. Lunev
2015-11-04 17:19 ` [Qemu-devel] [PATCH 03/11] snapshot: create bdrv_all_delete_snapshot helper Denis V. Lunev
2015-11-06 14:09 ` Stefan Hajnoczi
2015-11-06 14:12 ` Denis V. Lunev
2015-11-07 12:22 ` Denis V. Lunev
2015-11-04 17:19 ` [Qemu-devel] [PATCH 04/11] snapshot: create bdrv_all_goto_snapshot helper Denis V. Lunev
2015-11-05 9:09 ` Greg Kurz
2015-11-04 17:19 ` [Qemu-devel] [PATCH 05/11] snapshot: create bdrv_all_find_snapshot helper Denis V. Lunev
2015-11-04 17:19 ` [Qemu-devel] [PATCH 06/11] migration: drop find_vmstate_bs check in hmp_delvm Denis V. Lunev
2015-11-04 17:19 ` [Qemu-devel] [PATCH 07/11] migration: reorder processing in hmp_savevm Denis V. Lunev
2015-11-04 17:19 ` [Qemu-devel] [PATCH 08/11] migration: implement bdrv_all_find_vmstate_bs and bdrv_unlock helpers Denis V. Lunev
2015-11-06 15:18 ` Stefan Hajnoczi
2015-11-06 15:23 ` Denis V. Lunev
2015-11-04 17:19 ` [Qemu-devel] [PATCH 09/11] migration: add missed aio_context_acquire for state writing/reading Denis V. Lunev
2015-11-06 15:37 ` Stefan Hajnoczi
2015-11-04 17:19 ` [Qemu-devel] [PATCH 10/11] snapshot: create bdrv_all_create_snapshot helper Denis V. Lunev
2015-11-04 17:19 ` [Qemu-devel] [PATCH 11/11] monitor: add missed aio_context_acquire into vm_completion call Denis V. Lunev
2015-11-06 15:40 ` Stefan Hajnoczi
2015-11-06 15:54 ` [Qemu-devel] [PATCH 2.5 v5 0/11] dataplane snapshot fixes Stefan Hajnoczi
2015-11-06 16:05 ` Eric Blake
2015-11-06 16:19 ` Denis V. Lunev
2015-11-06 17:29 ` Stefan Hajnoczi
2015-11-06 21:13 ` Denis V. Lunev
2015-11-09 21:05 ` Eric Blake [this message]
2015-11-10 12:55 ` Denis V. Lunev
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=56410AAB.3010802@redhat.com \
--to=eblake@redhat.com \
--cc=den@openvz.org \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=stefanha@gmail.com \
--cc=stefanha@redhat.com \
/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).