From: Juan Quintela <quintela@redhat.com>
To: Greg Kurz <gkurz@linux.vnet.ibm.com>
Cc: Kevin Wolf <kwolf@redhat.com>, "Denis V. Lunev" <den@openvz.org>,
qemu-devel@nongnu.org, stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH for 2.9 v8 0/10] dataplane snapshot fixes
Date: Wed, 18 Nov 2015 15:31:01 +0100 [thread overview]
Message-ID: <87h9kj5qhm.fsf@emacs.mitica> (raw)
In-Reply-To: <20151118151551.4570fa06@bahia.local> (Greg Kurz's message of "Wed, 18 Nov 2015 15:15:51 +0100")
Greg Kurz <gkurz@linux.vnet.ibm.com> wrote:
> On Tue, 17 Nov 2015 12:08:20 +0300
> "Denis V. Lunev" <den@openvz.org> wrote:
>
>> with test
>> while /bin/true ; do
>> virsh snapshot-create rhel7
>> sleep 10
>> virsh snapshot-delete rhel7 --current
>> done
>> with enabled iothreads on a running VM leads to a lot of troubles: hangs,
>> asserts, errors.
>>
>
> In my case, when using a virtio-blk-dataplane device, calling savevm *always*
> result in a QEMU hang.
Oops
> With this series (plus the s/bs/bs_vm_state/ change in patch 11), savevm/loadvm
> now works like a charm.
Nice, thanks for the testing.
> I saw that Juan does not like aio_context being used in migration code, but
> in case this series gets applied anyway:
>
> Tested-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
I *think* that we should get better API's exported from block layer, but
*at least* we will get this series in.
Thanks, Juan.
>
>> Anyway, I think that the construction like
>> assert(aio_context_is_locked(aio_context));
>> should be widely used to ensure proper locking.
>>
>> Changes from v8:
>> - split patch 5 into 2 separate patches making changes better to understand and
>> review
>>
>> Changes from v7:
>> - patch 5: fixes for bdrv_all_find_snapshot. Changed parameter name to
>> skip_read_only which better reflects the meaning of the value and
>> fixed checks inside to conform the note from Stefan
>>
>> Changes from v6:
>> - tricky part dropped from patch 7
>> - patch 5 reworked to process snapshot list differently in info commands
>> and on savevm
>>
>> Changes from v5:
>> - dropped already merged patch 11
>> - fixed spelling in patch 1
>> - changed order of condition in loops in all patches. Thank you Stefan
>> - dropped patch 9
>> - aio_context is not acquired any more in bdrv_all_find_vmstate_bs by request
>> of Stefan
>> - patch 10 is implemented in completely different way
>>
>> Changes from v4:
>> - only migration/savevm.c code and monitor is affected now. Generic block
>> layer stuff will be sent separately to speedup merging. The approach
>> in general was negotiated with Juan and Stefan.
>>
>> Changes from v3:
>> - more places found
>> - new aio_poll concept, see patch 10
>>
>> Changes from v2:
>> - droppped patch 5 as already merged
>> - changed locking scheme in patch 4 by suggestion of Juan
>>
>> Changes from v1:
>> - aio-context locking added
>> - comment is rewritten
>>
>> Signed-off-by: Denis V. Lunev <den@openvz.org>
>> CC: Stefan Hajnoczi <stefanha@redhat.com>
>> CC: Juan Quintela <quintela@redhat.com>
>> CC: Kevin Wolf <kwolf@redhat.com>
>>
>> Denis V. Lunev (10):
>> snapshot: create helper to test that block drivers supports snapshots
>> snapshot: return error code from bdrv_snapshot_delete_by_id_or_name
>> snapshot: create bdrv_all_delete_snapshot helper
>> snapshot: create bdrv_all_goto_snapshot helper
>> snapshot: create bdrv_all_find_snapshot helper
>> migration: drop find_vmstate_bs check in hmp_delvm
>> snapshot: create bdrv_all_create_snapshot helper
>> migration: reorder processing in hmp_savevm
>> migration: implement bdrv_all_find_vmstate_bs helper
>> migration: normalize locking in migration/savevm.c
>>
>> block/snapshot.c | 135 ++++++++++++++++++++++++++++++-
>> include/block/snapshot.h | 25 +++++-
>> migration/savevm.c | 207 +++++++++++++++--------------------------------
>> 3 files changed, 217 insertions(+), 150 deletions(-)
next prev parent reply other threads:[~2015-11-18 14:31 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-17 9:08 [Qemu-devel] [PATCH for 2.9 v8 0/10] dataplane snapshot fixes Denis V. Lunev
2015-11-17 9:08 ` [Qemu-devel] [PATCH 01/11] snapshot: create helper to test that block drivers supports snapshots Denis V. Lunev
2015-11-18 10:57 ` Juan Quintela
2015-11-17 9:08 ` [Qemu-devel] [PATCH 02/11] snapshot: return error code from bdrv_snapshot_delete_by_id_or_name Denis V. Lunev
2015-11-18 10:59 ` Juan Quintela
2015-11-17 9:08 ` [Qemu-devel] [PATCH 03/11] snapshot: create bdrv_all_delete_snapshot helper Denis V. Lunev
2015-11-18 11:01 ` Juan Quintela
2015-11-17 9:08 ` [Qemu-devel] [PATCH 04/11] snapshot: create bdrv_all_goto_snapshot helper Denis V. Lunev
2015-11-18 11:02 ` Juan Quintela
2015-11-17 9:08 ` [Qemu-devel] [PATCH 05/11] migration: factor our snapshottability check in load_vmstate Denis V. Lunev
2015-11-17 11:51 ` Fam Zheng
2015-11-18 11:05 ` Juan Quintela
2015-11-17 9:08 ` [Qemu-devel] [PATCH 06/11] snapshot: create bdrv_all_find_snapshot helper Denis V. Lunev
2015-11-17 11:55 ` Fam Zheng
2015-11-18 11:09 ` Juan Quintela
2015-11-17 9:08 ` [Qemu-devel] [PATCH 07/11] migration: drop find_vmstate_bs check in hmp_delvm Denis V. Lunev
2015-11-18 11:08 ` Juan Quintela
2015-11-17 9:08 ` [Qemu-devel] [PATCH 08/11] snapshot: create bdrv_all_create_snapshot helper Denis V. Lunev
2015-11-18 11:10 ` Juan Quintela
2015-11-17 9:08 ` [Qemu-devel] [PATCH 09/11] migration: reorder processing in hmp_savevm Denis V. Lunev
2015-11-18 11:15 ` Juan Quintela
2015-11-17 9:08 ` [Qemu-devel] [PATCH 10/11] migration: implement bdrv_all_find_vmstate_bs helper Denis V. Lunev
2015-11-18 11:12 ` Juan Quintela
2015-11-17 9:08 ` [Qemu-devel] [PATCH 11/11] migration: normalize locking in migration/savevm.c Denis V. Lunev
2015-11-18 11:25 ` Juan Quintela
2015-11-18 14:26 ` Denis V. Lunev
2015-11-18 13:59 ` Greg Kurz
2015-11-18 10:56 ` [Qemu-devel] [PATCH for 2.9 v8 0/10] dataplane snapshot fixes Juan Quintela
2015-11-18 11:09 ` Denis V. Lunev
2015-11-18 11:26 ` Juan Quintela
2015-11-18 14:15 ` Greg Kurz
2015-11-18 14:31 ` Juan Quintela [this message]
2015-11-18 14:54 ` Denis V. Lunev
2015-11-18 15:24 ` Juan Quintela
2015-11-18 15:27 ` 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=87h9kj5qhm.fsf@emacs.mitica \
--to=quintela@redhat.com \
--cc=den@openvz.org \
--cc=gkurz@linux.vnet.ibm.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--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).