From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59471) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VdHp9-0005Xl-HP for qemu-devel@nongnu.org; Mon, 04 Nov 2013 05:56:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VdHp2-0003Qp-2I for qemu-devel@nongnu.org; Mon, 04 Nov 2013 05:55:59 -0500 Received: from mx1.redhat.com ([209.132.183.28]:21517) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VdHp1-0003Qh-Mg for qemu-devel@nongnu.org; Mon, 04 Nov 2013 05:55:51 -0500 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id rA4AtpEL030360 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 4 Nov 2013 05:55:51 -0500 Message-ID: <52777D33.8010902@redhat.com> Date: Mon, 04 Nov 2013 11:55:47 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1383557410-18062-1-git-send-email-famz@redhat.com> <527778E9.6000907@redhat.com> <52777B3F.6010402@redhat.com> In-Reply-To: <52777B3F.6010402@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2] block: per caller dirty bitmap List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng Cc: kwolf@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com Il 04/11/2013 11:47, Fam Zheng ha scritto: >>> >>> -void bdrv_set_dirty_tracking(BlockDriverState *bs, int granularity); >>> -int bdrv_get_dirty(BlockDriverState *bs, int64_t sector); >>> +typedef struct BdrvDirtyBitmap BdrvDirtyBitmap; >>> +BdrvDirtyBitmap *bdrv_create_dirty_bitmap(BlockDriverState *bs, int >>> granularity); >>> +void bdrv_release_dirty_bitmap(BlockDriverState *bs, BdrvDirtyBitmap >>> *bitmap); >>> +int bdrv_get_dirty(BlockDriverState *bs, BdrvDirtyBitmap *bitmap, >>> int64_t sector); >>> void bdrv_set_dirty(BlockDriverState *bs, int64_t cur_sector, int >>> nr_sectors); >>> void bdrv_reset_dirty(BlockDriverState *bs, int64_t cur_sector, int >>> nr_sectors); >>> -void bdrv_dirty_iter_init(BlockDriverState *bs, struct HBitmapIter >>> *hbi); >>> -int64_t bdrv_get_dirty_count(BlockDriverState *bs); >>> +void bdrv_dirty_iter_init(BlockDriverState *bs, >>> + BdrvDirtyBitmap *bitmap, struct >>> HBitmapIter *hbi); >>> +int64_t bdrv_get_dirty_count(BlockDriverState *bs, BdrvDirtyBitmap >>> *bitmap); >>> void bdrv_enable_copy_on_read(BlockDriverState *bs); >>> void bdrv_disable_copy_on_read(BlockDriverState *bs); >> You do not really need the BDS argument to the functions, do you? (Or >> do you have other plans?) > > I just wanted to keep the pattern of those bdrv_* family, no other plans > for it. Kevin, Stefan, any second opinions? Paolo