qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 107b59: vmstate: add qom interface to get id


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 107b59: vmstate: add qom interface to get id
Date: Tue, 07 Jan 2020 02:30:16 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 107b59698f79b323c4d111c46eb9e3db6f9d258b
      
https://github.com/qemu/qemu/commit/107b59698f79b323c4d111c46eb9e3db6f9d258b
  Author: Marc-André Lureau <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M MAINTAINERS
    M hw/core/Makefile.objs
    M hw/core/qdev.c
    A hw/core/vmstate-if.c
    A include/hw/vmstate-if.h
    M include/migration/register.h
    M include/migration/vmstate.h
    M tests/Makefile.include

  Log Message:
  -----------
  vmstate: add qom interface to get id

Add an interface to get the instance id, instead of depending on
Device and qdev_get_dev_path().

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Acked-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 3cad405babb461e3c70782c51415f0b64bc7540d
      
https://github.com/qemu/qemu/commit/3cad405babb461e3c70782c51415f0b64bc7540d
  Author: Marc-André Lureau <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M hw/block/onenand.c
    M hw/core/qdev.c
    M hw/ide/cmd646.c
    M hw/ide/isa.c
    M hw/ide/piix.c
    M hw/ide/via.c
    M hw/misc/max111x.c
    M hw/net/eepro100.c
    M hw/net/virtio-net.c
    M hw/nvram/eeprom93xx.c
    M hw/ppc/spapr_drc.c
    M hw/ppc/spapr_iommu.c
    M hw/s390x/s390-skeys.c
    M include/migration/register.h
    M include/migration/vmstate.h
    M migration/savevm.c
    M stubs/vmstate.c

  Log Message:
  -----------
  vmstate: replace DeviceState with VMStateIf

Replace DeviceState dependency with VMStateIf on vmstate API.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Acked-by: Halil Pasic <address@hidden>


  Commit: a566907f1b52c8e94d4add32f50fe9b7d8d12921
      
https://github.com/qemu/qemu/commit/a566907f1b52c8e94d4add32f50fe9b7d8d12921
  Author: Marc-André Lureau <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M MAINTAINERS
    A docs/interop/dbus.rst
    M docs/interop/index.rst

  Log Message:
  -----------
  docs: start a document to describe D-Bus usage

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>


  Commit: a5021d6991d9a573f6a47f2c1bfd45c586b89774
      
https://github.com/qemu/qemu/commit/a5021d6991d9a573f6a47f2c1bfd45c586b89774
  Author: Marc-André Lureau <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M MAINTAINERS
    A include/qemu/dbus.h
    M util/Makefile.objs
    A util/dbus.c

  Log Message:
  -----------
  util: add dbus helper unit

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>


  Commit: 5010cec2bc87dafab39b3913c8ca91f88df9c540
      
https://github.com/qemu/qemu/commit/5010cec2bc87dafab39b3913c8ca91f88df9c540
  Author: Marc-André Lureau <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M MAINTAINERS
    M Makefile.objs
    M backends/Makefile.objs
    A backends/dbus-vmstate.c
    A backends/trace-events
    A docs/interop/dbus-vmstate.rst
    M docs/interop/dbus.rst
    M docs/interop/index.rst

  Log Message:
  -----------
  Add dbus-vmstate object

When instantiated, this object will connect to the given D-Bus bus
"addr". During migration, it will take/restore the data from
org.qemu.VMState1 instances. See documentation for details.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>


  Commit: 25a97a56708ebc9d9bf34c4a3b25c447b44c03f9
      
https://github.com/qemu/qemu/commit/25a97a56708ebc9d9bf34c4a3b25c447b44c03f9
  Author: Marc-André Lureau <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: add GDBUS_CODEGEN

gdbus-codegen generated code requires gio-unix on Unix, so add it to
GIO libs/cflags.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>


  Commit: 1409c047c17a06ece437c73626598aa7c06ba116
      
https://github.com/qemu/qemu/commit/1409c047c17a06ece437c73626598aa7c06ba116
  Author: Marc-André Lureau <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/docker/dockerfiles/centos7.docker
    M tests/docker/dockerfiles/debian10.docker
    M tests/docker/dockerfiles/fedora.docker
    M tests/docker/dockerfiles/ubuntu.docker

  Log Message:
  -----------
  dockerfiles: add dbus-daemon to some of latest distributions

To get dbus-vmstate test covered.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>


  Commit: d77799ccda4baca822308ed1648a3c72d46cf74e
      
https://github.com/qemu/qemu/commit/d77799ccda4baca822308ed1648a3c72d46cf74e
  Author: Marc-André Lureau <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M tests/Makefile.include
    A tests/migration-helpers.c
    A tests/migration-helpers.h
    M tests/migration-test.c

  Log Message:
  -----------
  tests: add migration-helpers unit

Move a few helper functions from migration-test.c to migration-helpers.c

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>


  Commit: 586ca6ba3cd6d7a3a85ed5cdc4e53b1cd584b0c0
      
https://github.com/qemu/qemu/commit/586ca6ba3cd6d7a3a85ed5cdc4e53b1cd584b0c0
  Author: Marc-André Lureau <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M MAINTAINERS
    M tests/Makefile.include
    A tests/dbus-vmstate-daemon.sh
    A tests/dbus-vmstate-test.c
    A tests/dbus-vmstate1.xml

  Log Message:
  -----------
  tests: add dbus-vmstate-test

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>


  Commit: c4d1069c2563f70a5271af6e9e000add64e593be
      
https://github.com/qemu/qemu/commit/c4d1069c2563f70a5271af6e9e000add64e593be
  Author: Peter Maydell <address@hidden>
  Date:   2020-01-06 (Mon, 06 Jan 2020)

  Changed paths:
    M MAINTAINERS
    M Makefile.objs
    M backends/Makefile.objs
    A backends/dbus-vmstate.c
    A backends/trace-events
    M configure
    A docs/interop/dbus-vmstate.rst
    A docs/interop/dbus.rst
    M docs/interop/index.rst
    M hw/block/onenand.c
    M hw/core/Makefile.objs
    M hw/core/qdev.c
    A hw/core/vmstate-if.c
    M hw/ide/cmd646.c
    M hw/ide/isa.c
    M hw/ide/piix.c
    M hw/ide/via.c
    M hw/misc/max111x.c
    M hw/net/eepro100.c
    M hw/net/virtio-net.c
    M hw/nvram/eeprom93xx.c
    M hw/ppc/spapr_drc.c
    M hw/ppc/spapr_iommu.c
    M hw/s390x/s390-skeys.c
    A include/hw/vmstate-if.h
    M include/migration/register.h
    M include/migration/vmstate.h
    A include/qemu/dbus.h
    M migration/savevm.c
    M stubs/vmstate.c
    M tests/Makefile.include
    A tests/dbus-vmstate-daemon.sh
    A tests/dbus-vmstate-test.c
    A tests/dbus-vmstate1.xml
    M tests/docker/dockerfiles/centos7.docker
    M tests/docker/dockerfiles/debian10.docker
    M tests/docker/dockerfiles/fedora.docker
    M tests/docker/dockerfiles/ubuntu.docker
    A tests/migration-helpers.c
    A tests/migration-helpers.h
    M tests/migration-test.c
    M util/Makefile.objs
    A util/dbus.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/elmarco/tags/dbus-vmstate7-pull-request' into staging

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 "address@hidden"
# gpg: Good signature from "Marc-André Lureau <address@hidden>" [full]
# gpg:                 aka "Marc-André Lureau <address@hidden>" [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: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/f4d8cf148e43...c4d1069c2563



reply via email to

[Prev in Thread] Current Thread [Next in Thread]