[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 107b59: vmstate: add qom interface to get id,
Peter Maydell <=