Vladimir Sementsov-Ogievskiy <[email protected]> writes: > On 10.03.26 16:53, Markus Armbruster wrote: >> Vladimir Sementsov-Ogievskiy <[email protected]> writes: >> >>> We are going to implement local-migration feature: some devices will be >>> able to transfer open file descriptors through migration stream (which >>> must UNIX domain socket for that purpose). This allows to transfer the >>> whole backend state without reconnecting and restarting the backend >>> service. For example, virtio-net will migrate its attached TAP netdev, >>> together with its connected file descriptors. >>> >>> In this commit we introduce a migration parameter, which enables >>> the feature for supporting devices (no one at the moment). >> >> for devices that support it (none at the moment). >> >>> >>> Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]> >>> Reviewed-by: Peter Xu <[email protected]> >> >> [...] >> >>> diff --git a/qapi/migration.json b/qapi/migration.json >>> index f925e5541bf..2c8d85f5834 100644 >>> --- a/qapi/migration.json >>> +++ b/qapi/migration.json >>> @@ -828,7 +828,8 @@ >>> 'mode', >>> 'zero-page-detection', >>> 'direct-io', >>> - 'cpr-exec-command'] } >>> + 'cpr-exec-command', >>> + 'local'] } >>> >>> ## >>> # @migrate-set-parameters: >>> @@ -1004,6 +1005,15 @@ >>> # is @cpr-exec. The first list element is the program's filename, >>> # the remainder its arguments. (Since 10.2) >>> # >>> +# @local: Enable local migration feature for devices that support >>> +# it. The feature is for local migration only and rely on the >>> +# channel support for passing file descriptors (it must be a UNIX >>> +# socket). In general that means that backend state and its file >>> +# descriptors are passed to the destination in the migration >>> +# channel. In general devices may have an option which in >>> +# conjunction with @local set to true enables the local-migration >>> +# feature for that device. (Since 11.0) >> >> This needs polish. Let me try. >> >> # @local: Enable local migration for devices that support it. Backend >> # state and its file descriptors are then passed to the >> # destination in the migration channel. The migration channel >> # must be a Unix domain socket. Also needs to be enabled per >> # device by setting device property "local" to true. > > As discussed in v11, we don't want to require neither concrete property name > nor even the existence of such property, that why it was worded "may have an > option". > > https://lore.kernel.org/qemu-devel/[email protected]/
Scratch "by setting ..." then, and maybe replace "also" by "usually". [...]
