From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44129) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDClG-0001lb-Ka for qemu-devel@nongnu.org; Wed, 15 Jun 2016 11:29:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bDClD-0006TP-BU for qemu-devel@nongnu.org; Wed, 15 Jun 2016 11:29:46 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47076) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDClD-0006TH-2Q for qemu-devel@nongnu.org; Wed, 15 Jun 2016 11:29:43 -0400 References: <1465924093-76875-1-git-send-email-vsementsov@virtuozzo.com> <1465924093-76875-3-git-send-email-vsementsov@virtuozzo.com> <57607829.3090603@redhat.com> <57615330.1050208@virtuozzo.com> From: Max Reitz Message-ID: <2eccd08f-6c6f-1eac-cd7a-a129441100a3@redhat.com> Date: Wed, 15 Jun 2016 17:29:39 +0200 MIME-Version: 1.0 In-Reply-To: <57615330.1050208@virtuozzo.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="idVfoMAdiMOxmGDtgJUMKfGfjlAuxeO5X" Subject: Re: [Qemu-devel] [PATCH 2/2] block: fix libvirt snapshot with existing bitmaps List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Vladimir Sementsov-Ogievskiy , Eric Blake , qemu-devel@nongnu.org Cc: kwolf@redhat.com, den@openvz.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --idVfoMAdiMOxmGDtgJUMKfGfjlAuxeO5X From: Max Reitz To: Vladimir Sementsov-Ogievskiy , Eric Blake , qemu-devel@nongnu.org Cc: kwolf@redhat.com, den@openvz.org Message-ID: <2eccd08f-6c6f-1eac-cd7a-a129441100a3@redhat.com> Subject: Re: [Qemu-devel] [PATCH 2/2] block: fix libvirt snapshot with existing bitmaps References: <1465924093-76875-1-git-send-email-vsementsov@virtuozzo.com> <1465924093-76875-3-git-send-email-vsementsov@virtuozzo.com> <57607829.3090603@redhat.com> <57615330.1050208@virtuozzo.com> In-Reply-To: <57615330.1050208@virtuozzo.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 15.06.2016 15:08, Vladimir Sementsov-Ogievskiy wrote: > On 15.06.2016 00:33, Eric Blake wrote: >> On 06/14/2016 11:08 AM, Vladimir Sementsov-Ogievskiy wrote: >>> Fix the following bug: >>> >>> # virsh start test >>> Domain test started >>> >>> # virsh qemu-monitor-command test \ >>> '{"execute":"block-dirty-bitmap-add",\ >>> "arguments":{"node":"drive0","name":"ab"}}' >>> {"return":{},"id":"libvirt-36"}'}' >>> >>> # virsh snapshot-create test >>> error: Unable to read from monitor: Connection reset by peer >>> >>> Actually, assert "assert(pos < hb->size)" in hbitmap_iter_init fires,= >>> because qcow2_save_vmstate just writes to bs (not to bs->file->bs) af= ter >>> the end of the drive. >>> >>> Signed-off-by: Vladimir Sementsov-Ogievskiy >>> --- >>> block/dirty-bitmap.c | 14 ++++++++++++++ >>> 1 file changed, 14 insertions(+) >>> >>> diff --git a/block/dirty-bitmap.c b/block/dirty-bitmap.c >>> index 4902ca5..d28b49c 100644 >>> --- a/block/dirty-bitmap.c >>> +++ b/block/dirty-bitmap.c >>> @@ -364,6 +364,20 @@ void bdrv_set_dirty(BlockDriverState *bs, >>> int64_t cur_sector, >>> int nr_sectors) >>> { >>> BdrvDirtyBitmap *bitmap; >>> + int64_t bitmap_size; >>> + >>> + if (QLIST_EMPTY(&bs->dirty_bitmaps)) { >>> + return; >>> + } >>> + >>> + bitmap_size =3D QLIST_FIRST(&bs->dirty_bitmaps)->size; >>> + >>> + if (cur_sector >=3D bitmap_size) { >>> + /* this may come from qcow2_save_vmstate */ >>> + return; >>> + } >> Do we still need this patch after Kevin's work to fix vmstate to no >> longer go through the block layer? >=20 > I think not. If we are not going through block layer we are not touchin= g > dirty bitmaps. OK, I'll drop this patch, then. I'll keep the first patch, though, because it seems useful anyway. Max --idVfoMAdiMOxmGDtgJUMKfGfjlAuxeO5X Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJXYXRjAAoJEDuxQgLoOKytR20H/2IOOV2R+abLcQm8ewiKJioJ 0QvXHwNBMuqXmelTm3WufYhN83Oax7JuywK/iUPv5w7oc+4V8YcTzDNvITdOX+Pr 0ldTN/JFW6u4KBbREV41MWRUsuiqNArUQtGFewf/sAPeBG1HrmAzSKiArktwT4Ij SopE6HWmTZ6cIdSJo9yzucjNJlOnsRt4ImiLjALis1b9v5zCpV8IySBeObgDRb+P yQ5/jb3JtI4QzMQuOe65G3yT4yKEsp/JgIs3e5hZNi2chVN/X8jBEwfu3mu3K7tk lV+Aw222VG8eS3GB9+BYXwTkPS3U1+LeFUOKf30ly+czRiPRczWFjbwY8oNziA0= =6zmb -----END PGP SIGNATURE----- --idVfoMAdiMOxmGDtgJUMKfGfjlAuxeO5X--