On Fri, 17 Feb 2017 13:50:40 +0100 Laszlo Ersek <ler...@redhat.com> wrote:
> CC Dave > > On 02/17/17 11:43, Igor Mammedov wrote: > > On Thu, 16 Feb 2017 15:15:36 -0800 > > b...@skyportsystems.com wrote: > > > >> From: Ben Warren <b...@skyportsystems.com> > >> > >> This implements the VM Generation ID feature by passing a 128-bit > >> GUID to the guest via a fw_cfg blob. > >> Any time the GUID changes, an ACPI notify event is sent to the guest > >> > >> The user interface is a simple device with one parameter: > >> - guid (string, must be "auto" or in UUID format > >> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) > > I've given it some testing with WS2012R2 and v4 patches for Seabios, > > > > Windows is able to read initial GUID allocation and writeback > > seems to work somehow: > > > > (qemu) info vm-generation-id > > c109c09b-0e8b-42d5-9b33-8409c9dcd16c > > > > vmgenid client in Windows reads it as 2 following 64bit integers: > > 42d50e8bc109c09b:6cd1dcc90984339b > > > > However update path/restore from snapshot doesn't > > here is as I've tested it: > > > > qemu-system-x86_64 -device vmgenid,id=testvgid,guid=auto -monitor stdio > > (qemu) info vm-generation-id > > c109c09b-0e8b-42d5-9b33-8409c9dcd16c > > (qemu) stop > > (qemu) migrate "exec:gzip -c > STATEFILE.gz" > > (qemu) quit > > > > qemu-system-x86_64 -device vmgenid,id=testvgid,guid=auto -monitor stdio > > -incoming "exec: gzip -c -d STATEFILE.gz" > > (qemu) info vm-generation-id > > 28b587fa-991b-4267-80d7-9cf28b746fe9 > > > > guest > > 1. doesn't get GPE notification that it must receive > > 2. vmgenid client in Windows reads the same value > > 42d50e8bc109c09b:6cd1dcc90984339b > > Hmmm, I wonder if we need something like this, in vmgenid_post_load(): > > commit 90c647db8d59e47c9000affc0d81754eb346e939 > Author: Dr. David Alan Gilbert <dgilb...@redhat.com> > Date: Fri Apr 15 12:41:30 2016 +0100 > > Fix pflash migration > > with the idea being that in a single device's post_load callback, we > shouldn't perform machine-wide actions (post_load is likely for fixing > up the device itself). If machine-wide actions are necessary, we should > temporarily register a "vm change state handler", and do the thing once > that handler is called (when the machine has been loaded fully and is > about to continue execution). > > Can you please try the attached patch on top? (Build tested only.) it doesn't help > > Thanks! > Laszlo