From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52694) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aMaVK-0007Jv-BV for qemu-devel@nongnu.org; Fri, 22 Jan 2016 07:07:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aMaVF-0006bC-9m for qemu-devel@nongnu.org; Fri, 22 Jan 2016 07:07:50 -0500 Message-ID: <56A21B89.2080902@virtuozzo.com> Date: Fri, 22 Jan 2016 15:07:37 +0300 From: Vladimir Sementsov-Ogievskiy MIME-Version: 1.0 References: <1453270306-16608-1-git-send-email-famz@redhat.com> <569FB223.7020006@virtuozzo.com> In-Reply-To: <569FB223.7020006@virtuozzo.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 00/13] Dirty bitmap changes for migration/persistence work List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng , qemu-devel@nongnu.org Cc: Kevin Wolf , Jeff Cody , jsnow@redhat.com, qemu-block@nongnu.org On 20.01.2016 19:13, Vladimir Sementsov-Ogievskiy wrote: > I'll try to rebase my series on this and run tests. Now failed because of iterators for meta bitmaps are unsupported, see answers to [PATCH v2 08/13]. Wait for v3. > > On 20.01.2016 09:11, Fam Zheng wrote: >> v2: Various changes addressing John's and Vladimir's comments: >> >> [02/13] typedefs: Add BdrvDirtyBitmap >> Skip HBitmapIter because we'll hide it soon. [John] >> [03/13] block: Move block dirty bitmap code to >> separate files >> [04/13] block: Remove unused typedef of BlockDriverDirtyHandler >> [05/13] block: Hide HBitmap in block dirty bitmap interface >> Add assert in bdrv_dirty_bitmap_truncate(). [John] >> Add John's rev-by. >> >> [06/13] HBitmap: Introduce "meta" bitmap to track bit changes >> Caller of hbitmap_create_meta() frees it with >> hbitmap_free_meta(). >> [John, Vladimir] >> >> [07/13] tests: Add test code for meta bitmap >> Add John's rev-by. >> >> [08/13] block: Support meta dirty bitmap >> Release the meta dirty bitmap in >> bdrv_release_dirty_bitmap(). >> >> [09/13] block: Add two dirty bitmap getters >> [10/13] block: Assert that bdrv_release_dirty_bitmap succeeded >> Add John's rev-by. >> >> [11/13] hbitmap: serialization >> Fix comment for hbitmap_serialization_granularity() and >> hbitmap_deserialize_part(). [John] >> Document @finish in hbitmap_deserialize_zeroes more >> clearly. >> Fixed granularity in hbitmap_serialization_granularity(). >> [Vladimir] >> Tweak the assertion in serialization_chunk. [Vladimir] >> cpu_to_leXXs -> leXX_to_cpus in hbitmap_deserialize_part. >> [Vladimir] >> Fix typo in serialization_chunk() comments. [John] >> >> [12/13] block: BdrvDirtyBitmap serialization interface >> [13/13] tests: Add test code for hbitmap serialization >> >> >> Two major features are added to block dirty bitmap (and underlying >> HBitmap) in >> this series: meta bitmap and serialization, together with all other >> supportive >> patches. >> >> Both operations are common in dirty bitmap migration and persistence: >> they need >> to find whether and which part of the dirty bitmap in question has >> changed with >> meta dirty bitmap, and they need to write it to the target with >> serialization. >> >> >> Fam Zheng (11): >> backup: Use Bitmap to replace "s->bitmap" >> typedefs: Add BdrvDirtyBitmap >> block: Move block dirty bitmap code to separate files >> block: Remove unused typedef of BlockDriverDirtyHandler >> block: Hide HBitmap in block dirty bitmap interface >> HBitmap: Introduce "meta" bitmap to track bit changes >> tests: Add test code for meta bitmap >> block: Support meta dirty bitmap >> block: Add two dirty bitmap getters >> block: Assert that bdrv_release_dirty_bitmap succeeded >> tests: Add test code for hbitmap serialization >> >> Vladimir Sementsov-Ogievskiy (2): >> hbitmap: serialization >> block: BdrvDirtyBitmap serialization interface >> >> block.c | 339 ----------------------------- >> block/Makefile.objs | 2 +- >> block/backup.c | 25 ++- >> block/dirty-bitmap.c | 492 >> +++++++++++++++++++++++++++++++++++++++++++ >> block/mirror.c | 14 +- >> include/block/block.h | 40 +--- >> include/block/dirty-bitmap.h | 71 +++++++ >> include/qemu/hbitmap.h | 95 +++++++++ >> include/qemu/typedefs.h | 2 + >> tests/test-hbitmap.c | 255 ++++++++++++++++++++++ >> util/hbitmap.c | 201 ++++++++++++++++-- >> 11 files changed, 1126 insertions(+), 410 deletions(-) >> create mode 100644 block/dirty-bitmap.c >> create mode 100644 include/block/dirty-bitmap.h >> > > -- Best regards, Vladimir * now, @virtuozzo.com instead of @parallels.com. Sorry for this inconvenience.