[Qemu-devel] [PATCH] block: Document that x-blockdev-change breaks quorum children list

Kevin Wolf posted 1 patch 6 years, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20171215105905.21338-1-kwolf@redhat.com
Test checkpatch passed
Test docker passed
Test ppc passed
Test s390x passed
qapi/block-core.json | 4 ++++
1 file changed, 4 insertions(+)
[Qemu-devel] [PATCH] block: Document that x-blockdev-change breaks quorum children list
Posted by Kevin Wolf 6 years, 3 months ago
Removing a quorum child node with x-blockdev-change results in a quorum
driver state that cannot be recreated with create options because it
would require a list with gaps. This causes trouble in at least
.bdrv_refresh_filename().

Document this problem so that we won't accidentally mark the command
stable without having addressed it.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 qapi/block-core.json | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/qapi/block-core.json b/qapi/block-core.json
index dd763dcf87..4cc1389834 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -3918,6 +3918,10 @@
 # does not support all kinds of operations, all kinds of children, nor
 # all block drivers.
 #
+# FIXME Removing children from a quorum node means introducing gaps in the
+# child indices. This cannot be represented in the 'children' list of
+# BlockdevOptionsQuorum, as returned by .bdrv_refresh_filename().
+#
 # Warning: The data in a new quorum child MUST be consistent with that of
 # the rest of the array.
 #
-- 
2.13.6


Re: [Qemu-devel] [Qemu-block] [PATCH] block: Document that x-blockdev-change breaks quorum children list
Posted by Alberto Garcia 6 years, 3 months ago
On Fri 15 Dec 2017 11:59:05 AM CET, Kevin Wolf wrote:
> Removing a quorum child node with x-blockdev-change results in a quorum
> driver state that cannot be recreated with create options because it
> would require a list with gaps. This causes trouble in at least
> .bdrv_refresh_filename().
>
> Document this problem so that we won't accidentally mark the command
> stable without having addressed it.
>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>

Reviewed-by: Alberto Garcia <berto@igalia.com>

Berto