Merge tag 'pull-loongarch-20241016' of https://gitlab.com/gaosong/qemu into staging
[qemu/armbru.git] / docs / interop / dbus-vmstate.rst
blob5fb3f279e280396b82b73c0abc3f026d3d6b6d14
1 =============
2 D-Bus VMState
3 =============
5 The QEMU dbus-vmstate object's aim is to migrate helpers' data running
6 on a QEMU D-Bus bus. (refer to the :doc:`dbus` document for
7 some recommendations on D-Bus usage)
9 Upon migration, QEMU will go through the queue of
10 ``org.qemu.VMState1`` D-Bus name owners and query their ``Id``. It
11 must be unique among the helpers.
13 It will then save arbitrary data of each Id to be transferred in the
14 migration stream and restored/loaded at the corresponding destination
15 helper.
17 For now, the data amount to be transferred is arbitrarily limited to
18 1Mb. The state must be saved quickly (a fraction of a second). (D-Bus
19 imposes a time limit on reply anyway, and migration would fail if data
20 isn't given quickly enough.)
22 dbus-vmstate object can be configured with the expected list of
23 helpers by setting its ``id-list`` property, with a comma-separated
24 ``Id`` list.
26 .. only:: sphinx4
28    .. dbus-doc:: backends/dbus-vmstate1.xml
30 .. only:: not sphinx4
32    .. warning::
33       Sphinx 4 is required to build D-Bus documentation.
35       This is the content of ``backends/dbus-vmstate1.xml``:
37    .. literalinclude:: ../../backends/dbus-vmstate1.xml
38       :language: xml