From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59450) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bCvxp-0000vg-Fc for qemu-devel@nongnu.org; Tue, 14 Jun 2016 17:33:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bCvxk-0007X6-Bi for qemu-devel@nongnu.org; Tue, 14 Jun 2016 17:33:36 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56821) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bCvxk-0007Wp-44 for qemu-devel@nongnu.org; Tue, 14 Jun 2016 17:33:32 -0400 References: <1465924093-76875-1-git-send-email-vsementsov@virtuozzo.com> <1465924093-76875-3-git-send-email-vsementsov@virtuozzo.com> From: Eric Blake Message-ID: <57607829.3090603@redhat.com> Date: Tue, 14 Jun 2016 15:33:29 -0600 MIME-Version: 1.0 In-Reply-To: <1465924093-76875-3-git-send-email-vsementsov@virtuozzo.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="TxkVi74w4JRkjq3P94QNmvq6o3kR2KGuo" 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 , qemu-devel@nongnu.org Cc: kwolf@redhat.com, den@openvz.org, mreitz@redhat.com This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --TxkVi74w4JRkjq3P94QNmvq6o3kR2KGuo Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 06/14/2016 11:08 AM, Vladimir Sementsov-Ogievskiy wrote: > Fix the following bug: >=20 > # virsh start test > Domain test started >=20 > # virsh qemu-monitor-command test \ > '{"execute":"block-dirty-bitmap-add",\ > "arguments":{"node":"drive0","name":"ab"}}' > {"return":{},"id":"libvirt-36"}'}' >=20 > # virsh snapshot-create test > error: Unable to read from monitor: Connection reset by peer >=20 > Actually, assert "assert(pos < hb->size)" in hbitmap_iter_init fires, > because qcow2_save_vmstate just writes to bs (not to bs->file->bs) afte= r > the end of the drive. >=20 > Signed-off-by: Vladimir Sementsov-Ogievskiy > --- > block/dirty-bitmap.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) >=20 > 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? https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg02832.html --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --TxkVi74w4JRkjq3P94QNmvq6o3kR2KGuo 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 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJXYHgpAAoJEKeha0olJ0NqYC8H/1aj0+4zR78+r/IqRScx+2pG vHjqQqbVsObeqmr3kQnT9ZnzzO6Foi4U8Xf72XH5zrNCe6hTYgNx+sw7Ivnwwoit AsdIvuTShHgDJT40wNo/LZ2hLgr8V84QxS3Z6rKkfV2hp+Vq1hBu65YNPFeCSKmv 4GApp7I+VcI2xAJ9DxroWL4XOJ1YohERpC9ALwDbytEMDJjivm24jljP2vu2WwPP fRy5rYJaqxK8y3SlvcAaHgafhBEGpYIERbaGFevZbs5bUwiKYBIr+Q8zyR0zYaE8 /cRtS5nCuLkdXxxF3MeyBH3iGQgQ0MeEnos8k8yE9pPsERHkZBn6x73i1WqNYXk= =nqst -----END PGP SIGNATURE----- --TxkVi74w4JRkjq3P94QNmvq6o3kR2KGuo--