diff mbox

[RFC,v2,6/8] block: add bdrv_next_dirty_bitmap()

Message ID 1422356197-5285-7-git-send-email-vsementsov@parallels.com
State New
Headers show

Commit Message

Vladimir Sementsov-Ogievskiy Jan. 27, 2015, 10:56 a.m. UTC
Like bdrv_next()  - bdrv_next_dirty_bitmap() is a function to provide
access to private dirty bitmaps list.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@parallels.com>
---
 block.c               | 10 ++++++++++
 include/block/block.h |  2 ++
 2 files changed, 12 insertions(+)

Comments

John Snow Feb. 10, 2015, 9:31 p.m. UTC | #1
On 01/27/2015 05:56 AM, Vladimir Sementsov-Ogievskiy wrote:
> Like bdrv_next()  - bdrv_next_dirty_bitmap() is a function to provide
> access to private dirty bitmaps list.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@parallels.com>
> ---
>   block.c               | 10 ++++++++++
>   include/block/block.h |  2 ++
>   2 files changed, 12 insertions(+)
>
> diff --git a/block.c b/block.c
> index 15fc621..9e59c2e 100644
> --- a/block.c
> +++ b/block.c
> @@ -5514,6 +5514,16 @@ BlockDirtyInfoList *bdrv_query_dirty_bitmaps(BlockDriverState *bs)
>       return list;
>   }
>
> +BdrvDirtyBitmap *bdrv_next_dirty_bitmap(BlockDriverState *bs,
> +                                        BdrvDirtyBitmap *bitmap)
> +{
> +    if (bitmap == NULL) {
> +        return QLIST_FIRST(&bs->dirty_bitmaps);
> +    }
> +
> +    return QLIST_NEXT(bitmap, list);
> +}
> +
>   int bdrv_get_dirty(BlockDriverState *bs, BdrvDirtyBitmap *bitmap, int64_t sector)
>   {
>       if (bitmap) {
> diff --git a/include/block/block.h b/include/block/block.h
> index 7b49d98..34d0259 100644
> --- a/include/block/block.h
> +++ b/include/block/block.h
> @@ -474,6 +474,8 @@ void bdrv_dirty_bitmap_deserialize_part(BdrvDirtyBitmap *bitmap,
>   void bdrv_dirty_bitmap_deserialize_part0(BdrvDirtyBitmap *bitmap,
>                                            uint64_t start, uint64_t count);
>   void bdrv_dirty_bitmap_deserialize_finish(BdrvDirtyBitmap *bitmap);
> +BdrvDirtyBitmap *bdrv_next_dirty_bitmap(BlockDriverState *bs,
> +                                        BdrvDirtyBitmap *bitmap);
>
>   HBitmap *bdrv_create_dirty_dirty_bitmap(BdrvDirtyBitmap *bitmap,
>                                           uint64_t granularity);
>

Makes sense to me.

Reviewed-by: John Snow <jsnow@redhat.com>
diff mbox

Patch

diff --git a/block.c b/block.c
index 15fc621..9e59c2e 100644
--- a/block.c
+++ b/block.c
@@ -5514,6 +5514,16 @@  BlockDirtyInfoList *bdrv_query_dirty_bitmaps(BlockDriverState *bs)
     return list;
 }
 
+BdrvDirtyBitmap *bdrv_next_dirty_bitmap(BlockDriverState *bs,
+                                        BdrvDirtyBitmap *bitmap)
+{
+    if (bitmap == NULL) {
+        return QLIST_FIRST(&bs->dirty_bitmaps);
+    }
+
+    return QLIST_NEXT(bitmap, list);
+}
+
 int bdrv_get_dirty(BlockDriverState *bs, BdrvDirtyBitmap *bitmap, int64_t sector)
 {
     if (bitmap) {
diff --git a/include/block/block.h b/include/block/block.h
index 7b49d98..34d0259 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -474,6 +474,8 @@  void bdrv_dirty_bitmap_deserialize_part(BdrvDirtyBitmap *bitmap,
 void bdrv_dirty_bitmap_deserialize_part0(BdrvDirtyBitmap *bitmap,
                                          uint64_t start, uint64_t count);
 void bdrv_dirty_bitmap_deserialize_finish(BdrvDirtyBitmap *bitmap);
+BdrvDirtyBitmap *bdrv_next_dirty_bitmap(BlockDriverState *bs,
+                                        BdrvDirtyBitmap *bitmap);
 
 HBitmap *bdrv_create_dirty_dirty_bitmap(BdrvDirtyBitmap *bitmap,
                                         uint64_t granularity);