qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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(-)

  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).