[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH 14/25] block: add bdrv_can_store_ne
From: |
John Snow |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH 14/25] block: add bdrv_can_store_new_dirty_bitmap |
Date: |
Tue, 14 Feb 2017 16:27:58 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 |
On 02/14/2017 11:59 AM, Vladimir Sementsov-Ogievskiy wrote:
> This will be needed to check some restrictions before making bitmap
> persistent in qmp-block-dirty-bitmap-add (this functionality will be
> added by future patch)
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
> Reviewed-by: Max Reitz <address@hidden>
> ---
> block.c | 22 ++++++++++++++++++++++
> include/block/block.h | 2 ++
> include/block/block_int.h | 4 ++++
> 3 files changed, 28 insertions(+)
>
> diff --git a/block.c b/block.c
> index 970e4ca..d5f8af8 100644
> --- a/block.c
> +++ b/block.c
> @@ -4139,3 +4139,25 @@ void
> bdrv_store_persistent_dirty_bitmaps(BlockDriverState *bs, Error **errp)
>
> drv->bdrv_store_persistent_dirty_bitmaps(bs, errp);
> }
> +
> +bool bdrv_can_store_new_dirty_bitmap(BlockDriverState *bs, const char *name,
> + uint32_t granularity, Error **errp)
> +{
> + BlockDriver *drv = bs->drv;
> +
> + if (!drv) {
> + error_setg_errno(errp, ENOMEDIUM,
> + "Can't store persistent bitmaps to %s",
> + bdrv_get_device_or_node_name(bs));
> + return false;
> + }
> +
> + if (!drv->bdrv_can_store_new_dirty_bitmap) {
> + error_setg_errno(errp, ENOTSUP,
> + "Can't store persistent bitmaps to %s",
> + bdrv_get_device_or_node_name(bs));
> + return false;
> + }
> +
> + return drv->bdrv_can_store_new_dirty_bitmap(bs, name, granularity, errp);
> +}
> diff --git a/include/block/block.h b/include/block/block.h
> index 0a20d68..ebf99b3 100644
> --- a/include/block/block.h
> +++ b/include/block/block.h
> @@ -553,5 +553,7 @@ void bdrv_del_child(BlockDriverState *parent, BdrvChild
> *child, Error **errp);
>
> void bdrv_load_autoloading_dirty_bitmaps(BlockDriverState *bs, Error **errp);
> void bdrv_store_persistent_dirty_bitmaps(BlockDriverState *bs, Error **errp);
> +bool bdrv_can_store_new_dirty_bitmap(BlockDriverState *bs, const char *name,
> + uint32_t granularity, Error **errp);
>
> #endif
> diff --git a/include/block/block_int.h b/include/block/block_int.h
> index c3505da..db68067 100644
> --- a/include/block/block_int.h
> +++ b/include/block/block_int.h
> @@ -324,6 +324,10 @@ struct BlockDriver {
> Error **errp);
> void (*bdrv_store_persistent_dirty_bitmaps)(BlockDriverState *bs,
> Error **errp);
> + bool (*bdrv_can_store_new_dirty_bitmap)(BlockDriverState *bs,
> + const char *name,
> + uint32_t granularity,
> + Error **errp);
>
> QLIST_ENTRY(BlockDriver) list;
> };
>
Reviewed-by: John Snow <address@hidden>
- [Qemu-block] [PATCH 23/25] qcow2: add .bdrv_remove_persistent_dirty_bitmap, (continued)
- [Qemu-block] [PATCH 23/25] qcow2: add .bdrv_remove_persistent_dirty_bitmap, Vladimir Sementsov-Ogievskiy, 2017/02/14
- [Qemu-block] [PATCH 07/25] qcow2: add bitmaps extension, Vladimir Sementsov-Ogievskiy, 2017/02/14
- [Qemu-block] [PATCH 19/25] iotests: test qcow2 persistent dirty bitmap, Vladimir Sementsov-Ogievskiy, 2017/02/14
- [Qemu-block] [PATCH 17/25] qmp: add autoload parameter to block-dirty-bitmap-add, Vladimir Sementsov-Ogievskiy, 2017/02/14
- [Qemu-block] [PATCH 20/25] qcow2-refcount: rename inc_refcounts() and make it public, Vladimir Sementsov-Ogievskiy, 2017/02/14
- [Qemu-block] [PATCH 14/25] block: add bdrv_can_store_new_dirty_bitmap, Vladimir Sementsov-Ogievskiy, 2017/02/14
- Re: [Qemu-block] [Qemu-devel] [PATCH 14/25] block: add bdrv_can_store_new_dirty_bitmap,
John Snow <=
- [Qemu-block] [PATCH 10/25] block/dirty-bitmap: add autoload field to BdrvDirtyBitmap, Vladimir Sementsov-Ogievskiy, 2017/02/14
- [Qemu-block] [PATCH 15/25] qcow2: add .bdrv_can_store_new_dirty_bitmap, Vladimir Sementsov-Ogievskiy, 2017/02/14
- [Qemu-block] [PATCH 11/25] block: introduce persistent dirty bitmaps, Vladimir Sementsov-Ogievskiy, 2017/02/14
- [Qemu-block] [PATCH 03/25] hbitmap: improve dirty iter, Vladimir Sementsov-Ogievskiy, 2017/02/14
- [Qemu-block] [PATCH 13/25] qcow2: add .bdrv_store_persistent_dirty_bitmaps(), Vladimir Sementsov-Ogievskiy, 2017/02/14
- [Qemu-block] [PATCH 09/25] qcow2: add .bdrv_load_autoloading_dirty_bitmaps, Vladimir Sementsov-Ogievskiy, 2017/02/14
- Re: [Qemu-block] [Qemu-devel] [PATCH v14 00/24] qcow2: persistent dirty bitmaps, John Snow, 2017/02/14