aboutsummaryrefslogtreecommitdiff
path: root/qapi/block-core.json
diff options
context:
space:
mode:
authorPeter Krempa <pkrempa@redhat.com>2023-12-05 18:14:42 +0100
committerKevin Wolf <kwolf@redhat.com>2024-01-26 11:16:58 +0100
commit72098a3aba7a7fccd7d1287c2ff88c1dac9b807d (patch)
tree5bab263b42b500ef6fb5dbe9e8debf0b005c5717 /qapi/block-core.json
parent4b028cbe7540b302d48f7d9e59a8cb860209d9fa (diff)
stream: Allow users to request only format driver names in backing file format
Introduce a new flag 'backing-mask-protocol' for the block-stream QMP command which instructs the internals to use 'raw' instead of the protocol driver in case when a image is used without a dummy 'raw' wrapper. The flag is designed such that it can be always asserted by management tools even when there isn't any update to backing files. The flag will be used by libvirt so that the backing images still reference the proper format even when libvirt will stop using the dummy raw driver (raw driver with no other config). Libvirt needs this so that the images stay compatible with older libvirt versions which didn't expect that a protocol driver name can appear in the backing file format field. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Message-ID: <bbee9a0a59748a8893289bf8249f568f0d587e62.1701796348.git.pkrempa@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'qapi/block-core.json')
-rw-r--r--qapi/block-core.json9
1 files changed, 8 insertions, 1 deletions
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 726145ec8a..04982bff96 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -2826,6 +2826,11 @@
# Care should be taken when specifying the string, to specify a
# valid filename or protocol. (Since 2.1)
#
+# @backing-mask-protocol: If true, replace any protocol mentioned in the
+# 'backing file format' with 'raw', rather than storing the protocol
+# name as the backing format. Can be used even when no image header
+# will be updated (default false; since 9.0).
+#
# @speed: the maximum speed, in bytes per second
#
# @on-error: the action to take on an error (default report). 'stop'
@@ -2864,7 +2869,9 @@
##
{ 'command': 'block-stream',
'data': { '*job-id': 'str', 'device': 'str', '*base': 'str',
- '*base-node': 'str', '*backing-file': 'str', '*bottom': 'str',
+ '*base-node': 'str', '*backing-file': 'str',
+ '*backing-mask-protocol': 'bool',
+ '*bottom': 'str',
'*speed': 'int', '*on-error': 'BlockdevOnError',
'*filter-node-name': 'str',
'*auto-finalize': 'bool', '*auto-dismiss': 'bool' },