From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36866) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZujLz-0001tt-Q1 for qemu-devel@nongnu.org; Fri, 06 Nov 2015 10:55:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZujLu-0000fL-Mj for qemu-devel@nongnu.org; Fri, 06 Nov 2015 10:55:03 -0500 Received: from mail-wm0-x233.google.com ([2a00:1450:400c:c09::233]:34315) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZujLu-0000fG-96 for qemu-devel@nongnu.org; Fri, 06 Nov 2015 10:54:58 -0500 Received: by wmnn186 with SMTP id n186so45613514wmn.1 for ; Fri, 06 Nov 2015 07:54:57 -0800 (PST) Date: Fri, 6 Nov 2015 15:54:55 +0000 From: Stefan Hajnoczi Message-ID: <20151106155455.GS12285@stefanha-x1.localdomain> References: <1446657582-21619-1-git-send-email-den@openvz.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="aJ74fq0Y6SrIeKCM" Content-Disposition: inline In-Reply-To: <1446657582-21619-1-git-send-email-den@openvz.org> Subject: Re: [Qemu-devel] [PATCH 2.5 v5 0/11] dataplane snapshot fixes List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Denis V. Lunev" Cc: Kevin Wolf , qemu-devel@nongnu.org, Stefan Hajnoczi , Juan Quintela --aJ74fq0Y6SrIeKCM Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Nov 04, 2015 at 08:19:31PM +0300, Denis V. Lunev 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. >=20 > Anyway, I think that the construction like > assert(aio_context_is_locked(aio_context)); > should be widely used to ensure proper locking. >=20 > 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. >=20 > Changes from v3: > - more places found > - new aio_poll concept, see patch 10 >=20 > Changes from v2: > - droppped patch 5 as already merged > - changed locking scheme in patch 4 by suggestion of Juan >=20 > Changes from v1: > - aio-context locking added > - comment is rewritten >=20 > Signed-off-by: Denis V. Lunev > CC: Stefan Hajnoczi > CC: Juan Quintela > CC: Kevin Wolf >=20 > Denis V. Lunev (11): > 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 > migration: reorder processing in hmp_savevm > migration: implement bdrv_all_find_vmstate_bs and bdrv_unlock helpers > migration: add missed aio_context_acquire for state writing/reading > snapshot: create bdrv_all_create_snapshot helper > monitor: add missed aio_context_acquire into vm_completion call >=20 > block/snapshot.c | 141 +++++++++++++++++++++++++++++- > include/block/snapshot.h | 23 ++++- > migration/savevm.c | 219 +++++++++++++++--------------------------= ------ > monitor.c | 11 ++- > 4 files changed, 234 insertions(+), 160 deletions(-) There is a lot going on here. For the 2.5 release, I'd prefer to limit changes to fixing bugs like in the last patch (which I've merged) and refactoring to a minimum (because that's where there will be discussions and it may take a while). By the way, the reason these issues haven't been noticed is that savevm isn't used much by libvirt users (backing files are used for snapshots instead). That means the savevm code is only called from live migration code paths. Dataplane temporarily disables itself during live migration so no problems are hit in that case. The HMP monitor is legacy and also not used by modern libvirt. I think the affected use cases are restricted to savevm+dataplane and HMP+dataplane. Stefan --aJ74fq0Y6SrIeKCM Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJWPM1PAAoJEJykq7OBq3PIsBQH/Ry2JTvECZGZUIKsrEua61yM K0Lo3ysRSQCGjnevUnPrrimgRPEw4HBGeuJleqgIrmS9qoCKPIv+T6ovICSq+/wY 9Cn4mQznBZXcHnHW7LdVIlffjFI7SxU9eyN5KGVbuRK+bmYIML69OHj4wTmzaNek XQ4TgCMbZNX534UBLlDZKqyEtdd76MY19dW2WWV/NYyojcITjws6QM7i9V0yPaP3 7ism+6DAkkdQhdz782m749lQihIQl9mtx1qyhNBZv4vYUIvONPgsEUpSVdDVuwxx ftkUdysIWdl5jWvPty2vkDi0OPitL9lm6jg7Jxr7ZzryNUb5YwLKKOzDEA5980Q= =XLpm -----END PGP SIGNATURE----- --aJ74fq0Y6SrIeKCM--