On 16.10.25 13:56, Markus Armbruster wrote:
Vladimir Sementsov-Ogievskiy <[email protected]> writes:
This parameter enables backend-transfer feature: all devices
which support it will migrate their backends (for example a TAP
device, by passing open file descriptor to migration channel).
Currently no such devices, so the new parameter is a noop.
Next commit will add support for virtio-net, to migrate its
TAP backend.
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
[...]
diff --git a/qapi/migration.json b/qapi/migration.json
index be0f3fcc12..35601a1f87 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -951,9 +951,16 @@
# is @cpr-exec. The first list element is the program's filename,
# the remainder its arguments. (Since 10.2)
#
+# @backend-transfer: Enable backend-transfer feature for devices that
Either "Enable the backend transfer feature" or "Enable backend transfer"
then, "Enable the backend-transfer feature"
+# supports it. In general that means that backend state and its
support
+# file descriptors are passed to the destination in the migraton
+# channel (which must be a UNIX socket). Individual devices
+# declare the support for backend-transfer by per-device
+# backend-transfer option. (Since 10.2)
+#
I'm not sure I understand this.
What is a "per-device backend-transfer option"? Is it a device
property?
If yes, I guess the device declares its capability to do this by having
this property. Correct?
No, user may set/unset this property to say, should device participate
in backend-transfer or not.
Still, as you can see in parallel thread, Daniel have strong arguments
against such API, so seems it will change again in v9.
https://lore.kernel.org/qemu-devel/[email protected]/
Does the property's value matter? How?
# Features:
#
-# @unstable: Members @x-checkpoint-delay and
+# @unstable: Members @backend-transfer, @x-checkpoint-delay and
# @x-vcpu-dirty-limit-period are experimental.
#
# Since: 2.4
@@ -978,7 +985,8 @@
'mode',
'zero-page-detection',
'direct-io',
- 'cpr-exec-command'] }
+ 'cpr-exec-command',
+ { 'name': 'backend-transfer', 'features': ['unstable'] } ] }
##
# @MigrateSetParameters:
[...]
--
Best regards,
Vladimir