On (Mon) 23 Feb 2015 [11:18:03], John Snow wrote: > Amazingly, we weren't doing this before. > > Make sure we migrate the IDEState structure that belongs to > the AHCIDevice.IDEBus structure during migrations. > > No version numbering changes because AHCI is not officially > migratable (and we can all see with good reason why) so we > do not impact any official builds by altering the stream and > leaving it at version 1. > > This fixes the rerror=stop/werror=stop test case where we wish > to migrate a halted job. Previously, the error code would not > migrate, so even if the job completed successfully, AHCI would > report an error because it would still have the placeholder > error code from initialization time. > > Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> > Signed-off-by: John Snow <js...@redhat.com> > --- > hw/ide/ahci.c | 1 + > hw/ide/internal.h | 3 +++ > 2 files changed, 4 insertions(+) > > diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c > index bc6d5ce..3f4fc77 100644 > --- a/hw/ide/ahci.c > +++ b/hw/ide/ahci.c > @@ -1321,6 +1321,7 @@ static const VMStateDescription vmstate_ahci_device = { > .version_id = 1, > .fields = (VMStateField[]) { > VMSTATE_IDE_BUS(port, AHCIDevice), > + VMSTATE_IDE_DRIVE(port.ifs[0], AHCIDevice),
This adds a new field to the struct without bumping up the version number. Flagged by the static checker. Amit