summaryrefslogtreecommitdiff
path: root/qapi
diff options
context:
space:
mode:
authorMax Reitz <mreitz@redhat.com>2019-06-12 17:48:11 +0200
committerKevin Wolf <kwolf@redhat.com>2020-09-07 12:31:31 +0200
commit67acfd21885b70ae0cd11f12e34821be3d8b90bb (patch)
tree6f7762c221d6ff3f988e42bb93147ac9e59ae88e /qapi
parentcb8503159a46f862303680816b1768bef78ac4e3 (diff)
stream: Deal with filters
Because of the (not so recent anymore) changes that make the stream job independent of the base node and instead track the node above it, we have to split that "bottom" node into two cases: The bottom COW node, and the node directly above the base node (which may be an R/W filter or the bottom COW node). Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'qapi')
-rw-r--r--qapi/block-core.json13
1 files changed, 10 insertions, 3 deletions
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 55b58ba892..b04df13bea 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -2484,13 +2484,20 @@
# of 'device'.
#
# If a base file is specified then sectors are not copied from that base file and
-# its backing chain. When streaming completes the image file will have the base
-# file as its backing file. This can be used to stream a subset of the backing
-# file chain instead of flattening the entire image.
+# its backing chain. This can be used to stream a subset of the backing file
+# chain instead of flattening the entire image.
+# When streaming completes the image file will have the base file as its backing
+# file, unless that node was changed while the job was running. In that case,
+# base's parent's backing (or filtered, whichever exists) child (i.e., base at
+# the beginning of the job) will be the new backing file.
#
# On successful completion the image file is updated to drop the backing file
# and the BLOCK_JOB_COMPLETED event is emitted.
#
+# In case @device is a filter node, block-stream modifies the first non-filter
+# overlay node below it to point to the new backing node instead of modifying
+# @device itself.
+#
# @job-id: identifier for the newly-created block job. If
# omitted, the device name will be used. (Since 2.7)
#