Skip to content
Snippets Groups Projects
  1. Jan 08, 2020
  2. Jan 07, 2020
  3. Jan 06, 2020
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/elmarco/tags/dbus-vmstate7-pull-request' into staging · c4d1069c
      Peter Maydell authored
      
      Add dbus-vmstate
      
      Hi,
      
      With external processes or helpers participating to the VM support, it
      becomes necessary to handle their migration. Various options exist to
      transfer their state:
      1) as the VM memory, RAM or devices (we could say that's how
         vhost-user devices can be handled today, they are expected to
         restore from ring state)
      2) other "vmstate" (as with TPM emulator state blobs)
      3) left to be handled by management layer
      
      1) is not practical, since an external processes may legitimatelly
      need arbitrary state date to back a device or a service, or may not
      even have an associated device.
      
      2) needs ad-hoc code for each helper, but is simple and working
      
      3) is complicated for management layer, QEMU has the migration timing
      
      The proposed "dbus-vmstate" object will connect to a given D-Bus
      address, and save/load from org.qemu.VMState1 owners on migration.
      
      Thus helpers can easily have their state migrated with QEMU, without
      implementing ad-hoc support (such as done for TPM emulation)
      
      D-Bus is ubiquitous on Linux (it is systemd IPC), and can be made to
      work on various other OSes. There are several implementations and good
      bindings for various languages.  (the tests/dbus-vmstate-test.c is a
      good example of how simple the implementation of services can be, even
      in C)
      
      dbus-vmstate is put into use by the libvirt series "[PATCH 00/23] Use
      a slirp helper process".
      
      v2:
       - fix build with broken mingw-glib
      
      # gpg: Signature made Mon 06 Jan 2020 14:43:35 GMT
      # gpg:                using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5
      # gpg:                issuer "marcandre.lureau@redhat.com"
      # gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>" [full]
      # gpg:                 aka "Marc-André Lureau <marcandre.lureau@gmail.com>" [full]
      # Primary key fingerprint: 87A9 BD93 3F87 C606 D276  F62D DAE8 E109 7596 9CE5
      
      * remotes/elmarco/tags/dbus-vmstate7-pull-request:
        tests: add dbus-vmstate-test
        tests: add migration-helpers unit
        dockerfiles: add dbus-daemon to some of latest distributions
        configure: add GDBUS_CODEGEN
        Add dbus-vmstate object
        util: add dbus helper unit
        docs: start a document to describe D-Bus usage
        vmstate: replace DeviceState with VMStateIf
        vmstate: add qom interface to get id
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      c4d1069c
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2020-01-06' into staging · f4d8cf14
      Peter Maydell authored
      
      Block patches:
      - Minor fixes and tests from the freeze period (too minor to be included
        in 4.2)
      - Allow many bash iotests to test qcow2's external data file feature
      - Add compress filter driver
      - Fix Python iotests after 6f6e1698
      - Fix for the backup job
      
      # gpg: Signature made Mon 06 Jan 2020 14:33:06 GMT
      # gpg:                using RSA key 91BEB60A30DB3E8857D11829F407DB0061D5CF40
      # gpg:                issuer "mreitz@redhat.com"
      # gpg: Good signature from "Max Reitz <mreitz@redhat.com>" [full]
      # Primary key fingerprint: 91BE B60A 30DB 3E88 57D1  1829 F407 DB00 61D5 CF40
      
      * remotes/maxreitz/tags/pull-block-2020-01-06: (34 commits)
        backup-top: Begin drain earlier
        tests/qemu-iotests: Update tests to recent desugarized -accel option
        tests/qemu-iotests: add case to write compressed data of multiple clusters
        qcow2: Allow writing compressed data of multiple clusters
        block: introduce compress filter driver
        iotests: Allow check -o data_file
        iotests: Disable data_file where it cannot be used
        iotests: Make 198 work with data_file
        iotests: Make 137 work with data_file
        iotests: Make 110 work with data_file
        iotests: Make 091 work with data_file
        iotests: Avoid cp/mv of test images
        iotests: Use _rm_test_img for deleting test images
        iotests: Avoid qemu-img create
        iotests: Drop IMGOPTS use in 267
        iotests: Replace IMGOPTS='' by --no-opts
        iotests: Replace IMGOPTS= by -o
        iotests: Inject space into -ocompat=0.10 in 051
        iotests: Add -o and --no-opts to _make_test_img
        iotests: Let _make_test_img parse its parameters
        ...
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      f4d8cf14
Loading