[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 29/36] quorum: Stop marking it as a filter
From: |
Kevin Wolf |
Subject: |
[PULL 29/36] quorum: Stop marking it as a filter |
Date: |
Tue, 18 Feb 2020 15:07:15 +0100 |
From: Max Reitz <address@hidden>
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>
Message-Id: <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
block/quorum.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/block/quorum.c b/block/quorum.c
index f57b0402d9..6d7a56bd93 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -1198,7 +1198,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,
--
2.20.1
- [PULL 19/36] blockdev: Allow resizing everywhere, (continued)
- [PULL 19/36] blockdev: Allow resizing everywhere, Kevin Wolf, 2020/02/18
- [PULL 18/36] blockdev: Allow external snapshots everywhere, Kevin Wolf, 2020/02/18
- [PULL 21/36] iotests: Let 041 use -blockdev for quorum children, Kevin Wolf, 2020/02/18
- [PULL 15/36] iotests: Test error handling policies with block-commit, Kevin Wolf, 2020/02/18
- [PULL 22/36] quorum: Fix child permissions, Kevin Wolf, 2020/02/18
- [PULL 20/36] block: Drop bdrv_is_first_non_filter(), Kevin Wolf, 2020/02/18
- [PULL 24/36] blkverify: Implement .bdrv_recurse_can_replace(), Kevin Wolf, 2020/02/18
- [PULL 25/36] quorum: Implement .bdrv_recurse_can_replace(), Kevin Wolf, 2020/02/18
- [PULL 26/36] block: Use bdrv_recurse_can_replace(), Kevin Wolf, 2020/02/18
- [PULL 23/36] block: Add bdrv_recurse_can_replace(), Kevin Wolf, 2020/02/18
- [PULL 29/36] quorum: Stop marking it as a filter,
Kevin Wolf <=
- [PULL 27/36] block: Remove bdrv_recurse_is_first_non_filter(), Kevin Wolf, 2020/02/18
- [PULL 28/36] mirror: Double-check immediately before replacing, Kevin Wolf, 2020/02/18
- [PULL 31/36] iotests: Add VM.assert_block_path(), Kevin Wolf, 2020/02/18
- [PULL 30/36] iotests: Use complete_and_wait() in 155, Kevin Wolf, 2020/02/18
- [PULL 33/36] iotests: Resolve TODOs in 041, Kevin Wolf, 2020/02/18
- [PULL 35/36] iotests: Add tests for invalid Quorum @replaces, Kevin Wolf, 2020/02/18
- [PULL 34/36] iotests: Use self.image_len in TestRepairQuorum, Kevin Wolf, 2020/02/18
- [PULL 32/36] iotests/041: Drop superfluous shutdowns, Kevin Wolf, 2020/02/18
- [PULL 36/36] iotests: Check that @replaces can replace filters, Kevin Wolf, 2020/02/18
- Re: [PULL 00/36] Block layer patches, Peter Maydell, 2020/02/20