[Qemu-devel] [PATCH v5 01/42] block: Mark commit and mirror as filter drivers

Max Reitz posted 42 patches 6 years, 8 months ago
There is a newer version of this series
[Qemu-devel] [PATCH v5 01/42] block: Mark commit and mirror as filter drivers
Posted by Max Reitz 6 years, 8 months ago
The commit and mirror block nodes are filters, so they should be marked
as such.  (Strictly speaking, BDS.is_filter's documentation states that
a filter's child must be bs->file.  The following patch will relax this
restriction, however.)

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
 block/commit.c | 2 ++
 block/mirror.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/block/commit.c b/block/commit.c
index c815def89a..f20a26fecd 100644
--- a/block/commit.c
+++ b/block/commit.c
@@ -256,6 +256,8 @@ static BlockDriver bdrv_commit_top = {
     .bdrv_co_block_status       = bdrv_co_block_status_from_backing,
     .bdrv_refresh_filename      = bdrv_commit_top_refresh_filename,
     .bdrv_child_perm            = bdrv_commit_top_child_perm,
+
+    .is_filter                  = true,
 };
 
 void commit_start(const char *job_id, BlockDriverState *bs,
diff --git a/block/mirror.c b/block/mirror.c
index f8bdb5b21b..4fa8f57c80 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -1480,6 +1480,8 @@ static BlockDriver bdrv_mirror_top = {
     .bdrv_co_block_status       = bdrv_co_block_status_from_backing,
     .bdrv_refresh_filename      = bdrv_mirror_top_refresh_filename,
     .bdrv_child_perm            = bdrv_mirror_top_child_perm,
+
+    .is_filter                  = true,
 };
 
 static void mirror_start_job(const char *job_id, BlockDriverState *bs,
-- 
2.21.0


Re: [Qemu-devel] [PATCH v5 01/42] block: Mark commit and mirror as filter drivers
Posted by Vladimir Sementsov-Ogievskiy 6 years, 8 months ago
13.06.2019 1:09, Max Reitz wrote:
> The commit and mirror block nodes are filters, so they should be marked
> as such.  (Strictly speaking, BDS.is_filter's documentation states that
> a filter's child must be bs->file.  The following patch will relax this
> restriction, however.)
> 
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> Reviewed-by: Alberto Garcia <berto@igalia.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>

Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>

> ---
>   block/commit.c | 2 ++
>   block/mirror.c | 2 ++
>   2 files changed, 4 insertions(+)
> 
> diff --git a/block/commit.c b/block/commit.c
> index c815def89a..f20a26fecd 100644
> --- a/block/commit.c
> +++ b/block/commit.c
> @@ -256,6 +256,8 @@ static BlockDriver bdrv_commit_top = {
>       .bdrv_co_block_status       = bdrv_co_block_status_from_backing,
>       .bdrv_refresh_filename      = bdrv_commit_top_refresh_filename,
>       .bdrv_child_perm            = bdrv_commit_top_child_perm,
> +
> +    .is_filter                  = true,
>   };
>   
>   void commit_start(const char *job_id, BlockDriverState *bs,
> diff --git a/block/mirror.c b/block/mirror.c
> index f8bdb5b21b..4fa8f57c80 100644
> --- a/block/mirror.c
> +++ b/block/mirror.c
> @@ -1480,6 +1480,8 @@ static BlockDriver bdrv_mirror_top = {
>       .bdrv_co_block_status       = bdrv_co_block_status_from_backing,
>       .bdrv_refresh_filename      = bdrv_mirror_top_refresh_filename,
>       .bdrv_child_perm            = bdrv_mirror_top_child_perm,
> +
> +    .is_filter                  = true,
>   };
>   
>   static void mirror_start_job(const char *job_id, BlockDriverState *bs,
> 


-- 
Best regards,
Vladimir