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. > +# > # Features: > # > # @unstable: Members @x-checkpoint-delay and > @@ -1043,7 +1053,8 @@ > '*mode': 'MigMode', > '*zero-page-detection': 'ZeroPageDetection', > '*direct-io': 'bool', > - '*cpr-exec-command': [ 'str' ]} } > + '*cpr-exec-command': [ 'str' ], > + '*local': 'bool' } } > > ## > # @query-migrate-parameters:
