From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53229) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a1U1y-00074p-Tg for qemu-devel@nongnu.org; Wed, 25 Nov 2015 01:58:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a1U1u-0003Te-Fp for qemu-devel@nongnu.org; Wed, 25 Nov 2015 01:58:18 -0500 Received: from relay.parallels.com ([195.214.232.42]:55994) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a1U1u-0003Sh-7o for qemu-devel@nongnu.org; Wed, 25 Nov 2015 01:58:14 -0500 Message-ID: <56555BEB.8080105@virtuozzo.com> Date: Wed, 25 Nov 2015 09:57:47 +0300 From: Vladimir Sementsov-Ogievskiy MIME-Version: 1.0 References: <1448425160-26092-1-git-send-email-famz@redhat.com> In-Reply-To: <1448425160-26092-1-git-send-email-famz@redhat.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 0/4] Bitmap clean-up patches for 2.6 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng , qemu-devel@nongnu.org Cc: Kevin Wolf , qemu-block@nongnu.org, Jeff Cody , mreitz@redhat.com, pbonzini@redhat.com, jsnow@redhat.com Hmm, stop. Very bad thing (sorry, that I didn't realize it before): This breaks my dirty bitmap migration series with its meta bitmaps. Meta bitmap is an additional HBitmap in BdrvDirtyBitmap, which tracks dirtiness of this BdrvDirtyBitmap. And it (meta bitmap) have its own granularity of course. Or we will have to maintain additional meta_gran_shift and lots of duplicated code.. If we speak about splitting granularity out of HBitmap, then the most true way should be struct HBitmapGranuled { struct HBitmap *hb; uint32_t gran_shift; } with all supporting functions and iterators. On 25.11.2015 07:19, Fam Zheng wrote: > v3: Split patch 2. [Vladimir] > > v2: bitmap_set -> set_bit. [Congyang, Paolo, John] > Add John Snow's rev-by with that change. > > This makes a cleaner base for more dirty bitmap work. "granularity" appearing > with different representations have always been mind twisting, remove it from > HBitmap to make the interface and implementation simpler. Upon this, it is > a bit easier to add persistent dirty bitmap functionalities. > > Block dirty bitmap is not unit-tested, so the removal of HBitmap test code > looks like a loss, but the overall test coverage is barely affected as we also > have various mirror, commit and backup iotest cases, and they do catch various > bugs when I wrote the patches. > > Please review! > > Fam > > > Fam Zheng (4): > backup: Use Bitmap to replace "s->bitmap" > block: Hide HBitmap in block dirty bitmap interface > block: Manage granularity in BdrvDirtyBitmap > hbitmap: Drop "granularity" > > block.c | 79 ++++++++++++++----- > block/backup.c | 25 +++--- > block/mirror.c | 14 ++-- > include/block/block.h | 9 ++- > include/qemu/hbitmap.h | 20 +---- > tests/test-hbitmap.c | 206 ++++++++----------------------------------------- > util/hbitmap.c | 64 +++------------ > 7 files changed, 135 insertions(+), 282 deletions(-) > -- Best regards, Vladimir * now, @virtuozzo.com instead of @parallels.com. Sorry for this inconvenience.