| 1 | ============= |
| 2 | D-Bus VMState |
| 3 | ============= |
| 4 | |
| 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) |
| 8 | |
| 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. |
| 12 | |
| 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. |
| 16 | |
| 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.) |
| 21 | |
| 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. |
| 25 | |
| 26 | .. only:: sphinx4 |
| 27 | |
| 28 | .. dbus-doc:: backends/dbus-vmstate1.xml |
| 29 | |
| 30 | .. only:: not sphinx4 |
| 31 | |
| 32 | .. warning:: |
| 33 | Sphinx 4 is required to build D-Bus documentation. |
| 34 | |
| 35 | This is the content of ``backends/dbus-vmstate1.xml``: |
| 36 | |
| 37 | .. literalinclude:: ../../backends/dbus-vmstate1.xml |
| 38 | :language: xml |