From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59330) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bycYU-0003LW-QZ for qemu-devel@nongnu.org; Mon, 24 Oct 2016 06:32:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bycYP-0008Sn-VO for qemu-devel@nongnu.org; Mon, 24 Oct 2016 06:32:34 -0400 Received: from mailhub.sw.ru ([195.214.232.25]:31211 helo=relay.sw.ru) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1bycYP-0008SW-K1 for qemu-devel@nongnu.org; Mon, 24 Oct 2016 06:32:29 -0400 References: <1475232808-4852-1-git-send-email-vsementsov@virtuozzo.com> <1475232808-4852-13-git-send-email-vsementsov@virtuozzo.com> <0cb068bb-e625-ecb3-0078-b20828920619@redhat.com> From: Vladimir Sementsov-Ogievskiy Message-ID: <5ce110e0-f204-affb-897f-7c6bada6739f@virtuozzo.com> Date: Mon, 24 Oct 2016 13:32:07 +0300 MIME-Version: 1.0 In-Reply-To: <0cb068bb-e625-ecb3-0078-b20828920619@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 12/22] qcow2-bitmap: add IN_USE flag List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Max Reitz , qemu-block@nongnu.org, qemu-devel@nongnu.org Cc: kwolf@redhat.com, armbru@redhat.com, eblake@redhat.com, jsnow@redhat.com, famz@redhat.com, den@openvz.org, stefanha@redhat.com, pbonzini@redhat.com 21.10.2016 22:58, Max Reitz =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > On 21.10.2016 17:34, Vladimir Sementsov-Ogievskiy wrote: >> 07.10.2016 22:44, Max Reitz =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >>> On 30.09.2016 12:53, Vladimir Sementsov-Ogievskiy wrote: >>>> This flag means that the bitmap is now in use by the software or was= not >>>> successfully saved. In any way, with this flag set the bitmap data m= ust >>>> be considered inconsistent and should not be loaded. >>>> >>>> With current implementation this flag is never set, as we just remov= e >>>> bitmaps from the image after loading. But it defined in qcow2 spec a= nd >>>> must be handled. Also, it can be used in future, if async schemes of >>>> bitmap loading/saving are implemented. >>>> >>>> We also remove in-use bitmaps from the image on open. >>>> >>>> Signed-off-by: Vladimir Sementsov-Ogievskiy >>>> --- >>>> block/qcow2-bitmap.c | 17 ++++++++++++++++- >>>> 1 file changed, 16 insertions(+), 1 deletion(-) >>> Don't you want to make use of this flag? It would appear useful to me= if >>> you just marked autoload bitmaps as in_use instead of deleting them f= rom >>> the image when it's opened and then overwrite them when the image is >>> closed. >> And what is the use of it? > You don't need to free any bitmaps when opening the file, and you don't > need to allocate any new bitmap space when closing it. As bitmaps are sparce in file, I need to allocate new space when=20 closing. Or free it... > >> Any way, storing an invalid copy of online data is bad I think. >> Therefore I will have to free bitmap data clusters and zero bitmap tab= le >> in file. > Why can't you just set this flag to mark it invalid? In case qemu > crashes, in one case you'll have some invalid bitmaps and in the other > you won't have any of them at all. I don't think there's a difference > from that perspective. > > Max > --=20 Best regards, Vladimir