[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 14/22] quorum: Stop marking it as a filter
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
Re: [PATCH 14/22] quorum: Stop marking it as a filter |
Date: |
Thu, 26 Sep 2019 12:43:11 +0000 |
20.09.2019 18:27, Max Reitz wrote:
> Quorum is not a filter, for example because it cannot guarantee which of
> its children will serve the next request. Thus, any of its children may
> differ from the data visible to quorum's parents.
>
> We have other filters with multiple children, but they differ in this
> aspect:
>
> - blkverify quits the whole qemu process if its children differ. As
> such, we can always skip it when we want to skip it (as a filter node)
> by going to any of its children. Both have the same data.
>
> - replication generally serves requests from bs->file, so this is its
> only actually filtered child.
>
> - Block job filters currently only have one child, but they will
> probably get more children in the future. Still, they will always
> have only one actually filtered child.
>
> Having "filters" as a dedicated node category only makes sense if you
> can skip them by going to a one fixed child that always shows the same
> data as the filter node. Quorum cannot fulfill this, so it is not a
> filter.
>
> Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Vladimir Sementsov-Ogievskiy <address@hidden>
> ---
> block/quorum.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/block/quorum.c b/block/quorum.c
> index 7a8f8b5475..7f56b4df7c 100644
> --- a/block/quorum.c
> +++ b/block/quorum.c
> @@ -1237,7 +1237,6 @@ static BlockDriver bdrv_quorum = {
>
> .bdrv_child_perm = quorum_child_perm,
>
> - .is_filter = true,
> .bdrv_recurse_can_replace = quorum_recurse_can_replace,
>
> .strong_runtime_opts = quorum_strong_runtime_opts,
>
--
Best regards,
Vladimir
- Re: [PATCH 17/22] iotests: Add VM.assert_block_path(), (continued)
- [PATCH 10/22] quorum: Implement .bdrv_recurse_can_replace(), Max Reitz, 2019/09/20
- [PATCH 12/22] block: Remove bdrv_recurse_is_first_non_filter(), Max Reitz, 2019/09/20
- [PATCH 14/22] quorum: Stop marking it as a filter, Max Reitz, 2019/09/20
- Re: [PATCH 14/22] quorum: Stop marking it as a filter,
Vladimir Sementsov-Ogievskiy <=
- [PATCH 15/22] mirror: Prevent loops, Max Reitz, 2019/09/20
- [PATCH 16/22] iotests: Use complete_and_wait() in 155, Max Reitz, 2019/09/20
- [PATCH 18/22] iotests: Resolve TODOs in 041, Max Reitz, 2019/09/20
- [PATCH 19/22] iotests: Use self.image_len in TestRepairQuorum, Max Reitz, 2019/09/20
- [PATCH 21/22] iotests: Check that @replaces can replace filters, Max Reitz, 2019/09/20