All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/4] migration queue
@ 2014-06-10 16:31 Juan Quintela
  2014-06-10 16:31 ` [Qemu-devel] [PATCH 1/4] migration: catch unknown flags in ram_load Juan Quintela
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Juan Quintela @ 2014-06-10 16:31 UTC (permalink / raw)
  To: qemu-devel

Hi

This includes:

- last two patches that remove version_minimum_id_old.

- refactor of opening of files was already tested (this is test-vmstate only)
- v4 of flags in ram_load from Peter.

Please, apply.

Juan.


The following changes since commit 3334e929ae2d01e47c3e64757ee7fcf975cede94:

  Merge remote-tracking branch 'remotes/kraxel/tags/pull-console-20140610-1' into staging (2014-06-10 12:06:17 +0100)

are available in the git repository at:


  git://github.com/juanquintela/qemu.git tags/migration/20140610

for you to fetch changes up to e59d8b1399705ea94d6e66040e37848c56cb4843:

  vmstate: Refactor opening of files (2014-06-10 16:52:14 +0200)

----------------------------------------------------------------
migration/next for 20140610

----------------------------------------------------------------
Juan Quintela (3):
      savevm: Remove all the unneeded version_minimum_id_old (ppc)
      savevm: Remove all the unneeded version_minimum_id_old (x86)
      vmstate: Refactor opening of files

Peter Lieven (1):
      migration: catch unknown flags in ram_load

 arch_init.c                        | 42 +++++++++++++++-------------
 hw/acpi/ich9.c                     |  1 -
 hw/acpi/pcihp.c                    |  3 +-
 hw/acpi/piix4.c                    |  8 ++----
 hw/audio/ac97.c                    |  6 ++--
 hw/audio/cs4231.c                  |  3 +-
 hw/audio/cs4231a.c                 |  3 +-
 hw/audio/es1370.c                  |  6 ++--
 hw/audio/gus.c                     |  3 +-
 hw/audio/hda-codec.c               |  4 +--
 hw/audio/intel-hda.c               |  4 +--
 hw/audio/sb16.c                    |  3 +-
 hw/block/fdc.c                     | 16 ++++-------
 hw/char/escc.c                     |  6 ++--
 hw/char/serial-pci.c               |  4 +--
 hw/char/serial.c                   |  2 +-
 hw/char/spapr_vty.c                |  3 +-
 hw/display/cirrus_vga.c            |  6 ++--
 hw/display/vga-pci.c               |  3 +-
 hw/display/vga.c                   |  3 +-
 hw/display/vmware_vga.c            |  6 ++--
 hw/dma/i8257.c                     |  6 ++--
 hw/i386/acpi-build.c               |  3 +-
 hw/i386/kvm/clock.c                |  1 -
 hw/i386/kvmvapic.c                 |  3 --
 hw/i386/pc.c                       |  3 +-
 hw/i386/xen/xen_platform.c         |  3 +-
 hw/ide/ahci.c                      |  6 ++--
 hw/ide/ich.c                       |  2 +-
 hw/ide/isa.c                       |  3 +-
 hw/ide/pci.c                       | 12 +++-----
 hw/input/pckbd.c                   |  6 ++--
 hw/input/ps2.c                     | 12 +++-----
 hw/input/vmmouse.c                 |  3 +-
 hw/intc/heathrow_pic.c             |  6 ++--
 hw/intc/i8259_common.c             |  1 -
 hw/intc/ioapic_common.c            |  1 -
 hw/intc/xics.c                     |  9 ++----
 hw/isa/apm.c                       |  1 -
 hw/isa/lpc_ich9.c                  |  1 -
 hw/isa/piix4.c                     |  3 +-
 hw/isa/vt82c686.c                  |  6 ++--
 hw/net/e1000.c                     |  6 ++--
 hw/net/eepro100.c                  |  3 +-
 hw/net/ne2000-isa.c                |  3 +-
 hw/net/ne2000.c                    |  6 ++--
 hw/net/pcnet-pci.c                 |  3 +-
 hw/net/pcnet.c                     |  3 +-
 hw/net/rtl8139.c                   |  9 ++----
 hw/net/spapr_llan.c                |  3 +-
 hw/net/vmxnet3.c                   |  4 +--
 hw/nvram/eeprom93xx.c              |  3 +-
 hw/nvram/fw_cfg.c                  |  3 +-
 hw/pci-bridge/ioh3420.c            |  1 -
 hw/pci-bridge/xio3130_downstream.c |  1 -
 hw/pci-bridge/xio3130_upstream.c   |  1 -
 hw/pci-host/piix.c                 |  7 ++---
 hw/pci-host/ppce500.c              |  9 ++----
 hw/pci-host/q35.c                  |  3 +-
 hw/pci/pci.c                       |  9 ++----
 hw/pci/pcie_aer.c                  |  6 ++--
 hw/ppc/ppc4xx_pci.c                |  9 ++----
 hw/ppc/spapr.c                     |  3 +-
 hw/ppc/spapr_iommu.c               |  3 +-
 hw/ppc/spapr_pci.c                 |  9 ++----
 hw/ppc/spapr_vio.c                 |  3 +-
 hw/scsi/lsi53c895a.c               |  3 +-
 hw/scsi/megasas.c                  |  3 +-
 hw/scsi/scsi-bus.c                 |  4 +--
 hw/scsi/scsi-disk.c                |  1 -
 hw/scsi/spapr_vscsi.c              |  6 ++--
 hw/scsi/vmw_pvscsi.c               |  3 +-
 hw/timer/hpet.c                    |  9 ++----
 hw/timer/i8254_common.c            |  1 -
 hw/timer/m48t59.c                  |  3 +-
 hw/timer/mc146818rtc.c             |  3 +-
 hw/watchdog/wdt_i6300esb.c         | 14 +++++-----
 hw/watchdog/wdt_ib700.c            |  3 +-
 migration.c                        |  2 +-
 target-i386/machine.c              | 57 +++++++++++++-------------------------
 target-ppc/machine.c               | 38 +++++++++----------------
 tests/test-vmstate.c               | 38 ++++++++++++-------------
 82 files changed, 193 insertions(+), 331 deletions(-)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Qemu-devel] [PATCH 1/4] migration: catch unknown flags in ram_load
  2014-06-10 16:31 [Qemu-devel] [PULL 0/4] migration queue Juan Quintela
@ 2014-06-10 16:31 ` Juan Quintela
  2014-06-10 16:31 ` [Qemu-devel] [PATCH 2/4] savevm: Remove all the unneeded version_minimum_id_old (ppc) Juan Quintela
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Juan Quintela @ 2014-06-10 16:31 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Lieven

From: Peter Lieven <pl@kamp.de>

if a saved vm has unknown flags in the memory data qemu
currently simply ignores this flag and continues which
yields in an unpredictable result.

This patch catches all unknown flags and aborts the
loading of the vm. Additionally error reports are thrown
if the migration aborts abnormally.

Signed-off-by: Peter Lieven <pl@kamp.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 arch_init.c | 42 +++++++++++++++++++++++-------------------
 migration.c |  2 +-
 2 files changed, 24 insertions(+), 20 deletions(-)

diff --git a/arch_init.c b/arch_init.c
index 9f1a174..4ee782f 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -1041,17 +1041,15 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id)
 {
     ram_addr_t addr;
     int flags, ret = 0;
-    int error;
     static uint64_t seq_iter;

     seq_iter++;

     if (version_id != 4) {
         ret = -EINVAL;
-        goto done;
     }

-    do {
+    while (!ret) {
         addr = qemu_get_be64(f);

         flags = addr & ~TARGET_PAGE_MASK;
@@ -1079,7 +1077,6 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id)
                                          " in != " RAM_ADDR_FMT, id, length,
                                          block->length);
                             ret =  -EINVAL;
-                            goto done;
                         }
                         break;
                     }
@@ -1089,21 +1086,22 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id)
                     error_report("Unknown ramblock \"%s\", cannot "
                                  "accept migration", id);
                     ret = -EINVAL;
-                    goto done;
+                }
+                if (ret) {
+                    break;
                 }

                 total_ram_bytes -= length;
             }
-        }
-
-        if (flags & RAM_SAVE_FLAG_COMPRESS) {
+        } else if (flags & RAM_SAVE_FLAG_COMPRESS) {
             void *host;
             uint8_t ch;

             host = host_from_stream_offset(f, addr, flags);
             if (!host) {
+                error_report("Illegal RAM offset %" PRIx64, addr);
                 ret = -EINVAL;
-                goto done;
+                break;
             }

             ch = qemu_get_byte(f);
@@ -1113,33 +1111,39 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id)

             host = host_from_stream_offset(f, addr, flags);
             if (!host) {
+                error_report("Illegal RAM offset %" PRIx64, addr);
                 ret = -EINVAL;
-                goto done;
+                break;
             }

             qemu_get_buffer(f, host, TARGET_PAGE_SIZE);
         } else if (flags & RAM_SAVE_FLAG_XBZRLE) {
             void *host = host_from_stream_offset(f, addr, flags);
             if (!host) {
+                error_report("Illegal RAM offset %" PRIx64, addr);
                 ret = -EINVAL;
-                goto done;
+                break;
             }

             if (load_xbzrle(f, addr, host) < 0) {
+                error_report("Failed to decompress XBZRLE page at %" PRIx64,
+                             addr);
                 ret = -EINVAL;
-                goto done;
+                break;
             }
         } else if (flags & RAM_SAVE_FLAG_HOOK) {
             ram_control_load_hook(f, flags);
+        } else if (flags & RAM_SAVE_FLAG_EOS) {
+            /* normal exit */
+            break;
+        } else {
+            error_report("Unknown migration flags: %#x", flags);
+            ret = -EINVAL;
+            break;
         }
-        error = qemu_file_get_error(f);
-        if (error) {
-            ret = error;
-            goto done;
-        }
-    } while (!(flags & RAM_SAVE_FLAG_EOS));
+        ret = qemu_file_get_error(f);
+    }

-done:
     DPRINTF("Completed load of VM with exit code %d seq iteration "
             "%" PRIu64 "\n", ret, seq_iter);
     return ret;
diff --git a/migration.c b/migration.c
index 3fc03d6..3ebe9fb 100644
--- a/migration.c
+++ b/migration.c
@@ -98,7 +98,7 @@ static void process_incoming_migration_co(void *opaque)
     qemu_fclose(f);
     free_xbzrle_decoded_buf();
     if (ret < 0) {
-        fprintf(stderr, "load of migration failed\n");
+        error_report("load of migration failed: %s", strerror(-ret));
         exit(EXIT_FAILURE);
     }
     qemu_announce_self();
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Qemu-devel] [PATCH 2/4] savevm: Remove all the unneeded version_minimum_id_old (ppc)
  2014-06-10 16:31 [Qemu-devel] [PULL 0/4] migration queue Juan Quintela
  2014-06-10 16:31 ` [Qemu-devel] [PATCH 1/4] migration: catch unknown flags in ram_load Juan Quintela
@ 2014-06-10 16:31 ` Juan Quintela
  2014-06-10 16:31 ` [Qemu-devel] [PATCH 3/4] savevm: Remove all the unneeded version_minimum_id_old (x86) Juan Quintela
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Juan Quintela @ 2014-06-10 16:31 UTC (permalink / raw)
  To: qemu-devel

After previous Peter patch, they are redundant.  This way we don't
assign them except when needed.  Once there, there were lots of case
where the ".fields" indentation was wrong:

     .fields = (VMStateField []) {
and
     .fields =      (VMStateField []) {

Change all the combinations to:

     .fields = (VMStateField[]){

The biggest problem (appart from aesthetics) was that checkpatch complained
when we copy&pasted the code from one place to another.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Acked-by: Alexey Kardashevskiy <aik@ozlabs.ru>
---
 hw/char/escc.c         |  6 ++----
 hw/char/spapr_vty.c    |  3 +--
 hw/intc/heathrow_pic.c |  6 ++----
 hw/intc/xics.c         |  9 +++------
 hw/net/spapr_llan.c    |  3 +--
 hw/pci-host/ppce500.c  |  9 +++------
 hw/ppc/ppc4xx_pci.c    |  9 +++------
 hw/ppc/spapr.c         |  3 +--
 hw/ppc/spapr_iommu.c   |  3 +--
 hw/ppc/spapr_pci.c     |  9 +++------
 hw/ppc/spapr_vio.c     |  3 +--
 hw/scsi/spapr_vscsi.c  |  6 ++----
 hw/timer/m48t59.c      |  3 +--
 target-ppc/machine.c   | 38 +++++++++++++-------------------------
 14 files changed, 37 insertions(+), 73 deletions(-)

diff --git a/hw/char/escc.c b/hw/char/escc.c
index d9a20aa..ba653ef 100644
--- a/hw/char/escc.c
+++ b/hw/char/escc.c
@@ -660,8 +660,7 @@ static const VMStateDescription vmstate_escc_chn = {
     .name ="escc_chn",
     .version_id = 2,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(vmstate_dummy, ChannelState),
         VMSTATE_UINT32(reg, ChannelState),
         VMSTATE_UINT32(rxint, ChannelState),
@@ -680,8 +679,7 @@ static const VMStateDescription vmstate_escc = {
     .name ="escc",
     .version_id = 2,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_STRUCT_ARRAY(chn, ESCCState, 2, 2, vmstate_escc_chn,
                              ChannelState),
         VMSTATE_END_OF_LIST()
diff --git a/hw/char/spapr_vty.c b/hw/char/spapr_vty.c
index f8a4981..0adf096 100644
--- a/hw/char/spapr_vty.c
+++ b/hw/char/spapr_vty.c
@@ -148,8 +148,7 @@ static const VMStateDescription vmstate_spapr_vty = {
     .name = "spapr_vty",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_SPAPR_VIO(sdev, VIOsPAPRVTYDevice),

         VMSTATE_UINT32(in, VIOsPAPRVTYDevice),
diff --git a/hw/intc/heathrow_pic.c b/hw/intc/heathrow_pic.c
index 9818f24..9ff3119 100644
--- a/hw/intc/heathrow_pic.c
+++ b/hw/intc/heathrow_pic.c
@@ -159,8 +159,7 @@ static const VMStateDescription vmstate_heathrow_pic_one = {
     .name = "heathrow_pic_one",
     .version_id = 0,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(events, HeathrowPIC),
         VMSTATE_UINT32(mask, HeathrowPIC),
         VMSTATE_UINT32(levels, HeathrowPIC),
@@ -173,8 +172,7 @@ static const VMStateDescription vmstate_heathrow_pic = {
     .name = "heathrow_pic",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_STRUCT_ARRAY(pics, HeathrowPICS, 2, 1,
                              vmstate_heathrow_pic_one, HeathrowPIC),
         VMSTATE_END_OF_LIST()
diff --git a/hw/intc/xics.c b/hw/intc/xics.c
index 64aabe7..76dd6f5 100644
--- a/hw/intc/xics.c
+++ b/hw/intc/xics.c
@@ -330,10 +330,9 @@ static const VMStateDescription vmstate_icp_server = {
     .name = "icp/server",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .pre_save = icp_dispatch_pre_save,
     .post_load = icp_dispatch_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         /* Sanity check */
         VMSTATE_UINT32(xirr, ICPState),
         VMSTATE_UINT8(pending_priority, ICPState),
@@ -566,8 +565,7 @@ static const VMStateDescription vmstate_ics_irq = {
     .name = "ics/irq",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(server, ICSIRQState),
         VMSTATE_UINT8(priority, ICSIRQState),
         VMSTATE_UINT8(saved_priority, ICSIRQState),
@@ -580,10 +578,9 @@ static const VMStateDescription vmstate_ics = {
     .name = "ics",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .pre_save = ics_dispatch_pre_save,
     .post_load = ics_dispatch_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         /* Sanity check */
         VMSTATE_UINT32_EQUAL(nr_irqs, ICSState),

diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c
index c433337..2d47df6 100644
--- a/hw/net/spapr_llan.c
+++ b/hw/net/spapr_llan.c
@@ -509,8 +509,7 @@ static const VMStateDescription vmstate_spapr_llan = {
     .name = "spapr_llan",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_SPAPR_VIO(sdev, VIOsPAPRVLANDevice),
         /* LLAN state */
         VMSTATE_BOOL(isopen, VIOsPAPRVLANDevice),
diff --git a/hw/pci-host/ppce500.c b/hw/pci-host/ppce500.c
index c80b7cb..e12d731 100644
--- a/hw/pci-host/ppce500.c
+++ b/hw/pci-host/ppce500.c
@@ -278,8 +278,7 @@ static const VMStateDescription vmstate_pci_outbound = {
     .name = "pci_outbound",
     .version_id = 0,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(potar, struct pci_outbound),
         VMSTATE_UINT32(potear, struct pci_outbound),
         VMSTATE_UINT32(powbar, struct pci_outbound),
@@ -292,8 +291,7 @@ static const VMStateDescription vmstate_pci_inbound = {
     .name = "pci_inbound",
     .version_id = 0,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(pitar, struct pci_inbound),
         VMSTATE_UINT32(piwbar, struct pci_inbound),
         VMSTATE_UINT32(piwbear, struct pci_inbound),
@@ -306,8 +304,7 @@ static const VMStateDescription vmstate_ppce500_pci = {
     .name = "ppce500_pci",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_STRUCT_ARRAY(pob, PPCE500PCIState, PPCE500_PCI_NR_POBS, 1,
                              vmstate_pci_outbound, struct pci_outbound),
         VMSTATE_STRUCT_ARRAY(pib, PPCE500PCIState, PPCE500_PCI_NR_PIBS, 1,
diff --git a/hw/ppc/ppc4xx_pci.c b/hw/ppc/ppc4xx_pci.c
index 4cb7851..55a3cab 100644
--- a/hw/ppc/ppc4xx_pci.c
+++ b/hw/ppc/ppc4xx_pci.c
@@ -294,8 +294,7 @@ static const VMStateDescription vmstate_pci_master_map = {
     .name = "pci_master_map",
     .version_id = 0,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(la, struct PCIMasterMap),
         VMSTATE_UINT32(ma, struct PCIMasterMap),
         VMSTATE_UINT32(pcila, struct PCIMasterMap),
@@ -308,8 +307,7 @@ static const VMStateDescription vmstate_pci_target_map = {
     .name = "pci_target_map",
     .version_id = 0,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(ms, struct PCITargetMap),
         VMSTATE_UINT32(la, struct PCITargetMap),
         VMSTATE_END_OF_LIST()
@@ -320,8 +318,7 @@ static const VMStateDescription vmstate_ppc4xx_pci = {
     .name = "ppc4xx_pci",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_STRUCT_ARRAY(pmm, PPC4xxPCIState, PPC4xx_PCI_NR_PMMS, 1,
                              vmstate_pci_master_map,
                              struct PCIMasterMap),
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 57e9578..adac5ff 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -819,8 +819,7 @@ static const VMStateDescription vmstate_spapr = {
     .name = "spapr",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(next_irq, sPAPREnvironment),

         /* RTC offset */
diff --git a/hw/ppc/spapr_iommu.c b/hw/ppc/spapr_iommu.c
index 72493d8..2887ad4 100644
--- a/hw/ppc/spapr_iommu.c
+++ b/hw/ppc/spapr_iommu.c
@@ -97,9 +97,8 @@ static const VMStateDescription vmstate_spapr_tce_table = {
     .name = "spapr_iommu",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .pre_load = spapr_tce_table_pre_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         /* Sanity check */
         VMSTATE_UINT32_EQUAL(liobn, sPAPRTCETable),
         VMSTATE_UINT32_EQUAL(window_size, sPAPRTCETable),
diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c
index cbef095..a4a51d4 100644
--- a/hw/ppc/spapr_pci.c
+++ b/hw/ppc/spapr_pci.c
@@ -659,8 +659,7 @@ static const VMStateDescription vmstate_spapr_pci_lsi = {
     .name = "spapr_pci/lsi",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32_EQUAL(irq, struct spapr_pci_lsi),

         VMSTATE_END_OF_LIST()
@@ -671,8 +670,7 @@ static const VMStateDescription vmstate_spapr_pci_msi = {
     .name = "spapr_pci/lsi",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(config_addr, struct spapr_pci_msi),
         VMSTATE_UINT32(irq, struct spapr_pci_msi),
         VMSTATE_UINT32(nvec, struct spapr_pci_msi),
@@ -685,8 +683,7 @@ static const VMStateDescription vmstate_spapr_pci = {
     .name = "spapr_pci",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64_EQUAL(buid, sPAPRPHBState),
         VMSTATE_UINT32_EQUAL(dma_liobn, sPAPRPHBState),
         VMSTATE_UINT64_EQUAL(mem_win_addr, sPAPRPHBState),
diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c
index 2ae06a3..bce8d7f 100644
--- a/hw/ppc/spapr_vio.c
+++ b/hw/ppc/spapr_vio.c
@@ -547,8 +547,7 @@ const VMStateDescription vmstate_spapr_vio = {
     .name = "spapr_vio",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         /* Sanity check */
         VMSTATE_UINT32_EQUAL(reg, VIOsPAPRDevice),
         VMSTATE_UINT32_EQUAL(irq, VIOsPAPRDevice),
diff --git a/hw/scsi/spapr_vscsi.c b/hw/scsi/spapr_vscsi.c
index d4ada4f..f96b7af 100644
--- a/hw/scsi/spapr_vscsi.c
+++ b/hw/scsi/spapr_vscsi.c
@@ -598,8 +598,7 @@ static const VMStateDescription vmstate_spapr_vscsi_req = {
     .name = "spapr_vscsi_req",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_BUFFER(crq.raw, vscsi_req),
         VMSTATE_BUFFER(iu.srp.reserved, vscsi_req),
         VMSTATE_UINT32(qtag, vscsi_req),
@@ -1260,8 +1259,7 @@ static const VMStateDescription vmstate_spapr_vscsi = {
     .name = "spapr_vscsi",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_SPAPR_VIO(vdev, VSCSIState),
         /* VSCSI state */
         /* ???? */
diff --git a/hw/timer/m48t59.c b/hw/timer/m48t59.c
index 7cf8684..31509d5 100644
--- a/hw/timer/m48t59.c
+++ b/hw/timer/m48t59.c
@@ -595,8 +595,7 @@ static const VMStateDescription vmstate_m48t59 = {
     .name = "m48t59",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(lock, M48t59State),
         VMSTATE_UINT16(addr, M48t59State),
         VMSTATE_VBUFFER_UINT32(buffer, M48t59State, 0, NULL, 0, size),
diff --git a/target-ppc/machine.c b/target-ppc/machine.c
index 063b379..d7807f8 100644
--- a/target-ppc/machine.c
+++ b/target-ppc/machine.c
@@ -202,8 +202,7 @@ static const VMStateDescription vmstate_fpu = {
     .name = "cpu/fpu",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_FLOAT64_ARRAY(env.fpr, PowerPCCPU, 32),
         VMSTATE_UINTTL(env.fpscr, PowerPCCPU),
         VMSTATE_END_OF_LIST()
@@ -221,8 +220,7 @@ static const VMStateDescription vmstate_altivec = {
     .name = "cpu/altivec",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_AVR_ARRAY(env.avr, PowerPCCPU, 32),
         VMSTATE_UINT32(env.vscr, PowerPCCPU),
         VMSTATE_END_OF_LIST()
@@ -240,8 +238,7 @@ static const VMStateDescription vmstate_vsx = {
     .name = "cpu/vsx",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64_ARRAY(env.vsr, PowerPCCPU, 32),
         VMSTATE_END_OF_LIST()
     },
@@ -262,8 +259,7 @@ static const VMStateDescription vmstate_sr = {
     .name = "cpu/sr",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINTTL_ARRAY(env.sr, PowerPCCPU, 32),
         VMSTATE_END_OF_LIST()
     },
@@ -312,8 +308,7 @@ static const VMStateDescription vmstate_slb = {
     .name = "cpu/slb",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32_EQUAL(env.slb_nr, PowerPCCPU),
         VMSTATE_SLB_ARRAY(env.slb, PowerPCCPU, MAX_SLB_ENTRIES),
         VMSTATE_END_OF_LIST()
@@ -325,8 +320,7 @@ static const VMStateDescription vmstate_tlb6xx_entry = {
     .name = "cpu/tlb6xx_entry",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINTTL(pte0, ppc6xx_tlb_t),
         VMSTATE_UINTTL(pte1, ppc6xx_tlb_t),
         VMSTATE_UINTTL(EPN, ppc6xx_tlb_t),
@@ -346,8 +340,7 @@ static const VMStateDescription vmstate_tlb6xx = {
     .name = "cpu/tlb6xx",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32_EQUAL(env.nb_tlb, PowerPCCPU),
         VMSTATE_STRUCT_VARRAY_POINTER_INT32(env.tlb.tlb6, PowerPCCPU,
                                             env.nb_tlb,
@@ -362,8 +355,7 @@ static const VMStateDescription vmstate_tlbemb_entry = {
     .name = "cpu/tlbemb_entry",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(RPN, ppcemb_tlb_t),
         VMSTATE_UINTTL(EPN, ppcemb_tlb_t),
         VMSTATE_UINTTL(PID, ppcemb_tlb_t),
@@ -394,8 +386,7 @@ static const VMStateDescription vmstate_pbr403 = {
     .name = "cpu/pbr403",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINTTL_ARRAY(env.pb, PowerPCCPU, 4),
         VMSTATE_END_OF_LIST()
     },
@@ -405,8 +396,7 @@ static const VMStateDescription vmstate_tlbemb = {
     .name = "cpu/tlb6xx",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32_EQUAL(env.nb_tlb, PowerPCCPU),
         VMSTATE_STRUCT_VARRAY_POINTER_INT32(env.tlb.tlbe, PowerPCCPU,
                                             env.nb_tlb,
@@ -429,8 +419,7 @@ static const VMStateDescription vmstate_tlbmas_entry = {
     .name = "cpu/tlbmas_entry",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(mas8, ppcmas_tlb_t),
         VMSTATE_UINT32(mas1, ppcmas_tlb_t),
         VMSTATE_UINT64(mas2, ppcmas_tlb_t),
@@ -451,8 +440,7 @@ static const VMStateDescription vmstate_tlbmas = {
     .name = "cpu/tlbmas",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32_EQUAL(env.nb_tlb, PowerPCCPU),
         VMSTATE_STRUCT_VARRAY_POINTER_INT32(env.tlb.tlbm, PowerPCCPU,
                                             env.nb_tlb,
@@ -470,7 +458,7 @@ const VMStateDescription vmstate_ppc_cpu = {
     .load_state_old = cpu_load_old,
     .pre_save = cpu_pre_save,
     .post_load = cpu_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         /* Verify we haven't changed the pvr */
         VMSTATE_UINTTL_EQUAL(env.spr[SPR_PVR], PowerPCCPU),

-- 
1.9.3

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Qemu-devel] [PATCH 3/4] savevm: Remove all the unneeded version_minimum_id_old (x86)
  2014-06-10 16:31 [Qemu-devel] [PULL 0/4] migration queue Juan Quintela
  2014-06-10 16:31 ` [Qemu-devel] [PATCH 1/4] migration: catch unknown flags in ram_load Juan Quintela
  2014-06-10 16:31 ` [Qemu-devel] [PATCH 2/4] savevm: Remove all the unneeded version_minimum_id_old (ppc) Juan Quintela
@ 2014-06-10 16:31 ` Juan Quintela
  2014-06-10 16:31 ` [Qemu-devel] [PATCH 4/4] vmstate: Refactor opening of files Juan Quintela
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Juan Quintela @ 2014-06-10 16:31 UTC (permalink / raw)
  To: qemu-devel

After previous Peter patch, they are redundant.  This way we don't
assign them except when needed.  Once there, there were lots of case
where the ".fields" indentation was wrong:

     .fields = (VMStateField []) {
and
     .fields =      (VMStateField []) {

Change all the combinations to:

     .fields = (VMStateField[]){

The biggest problem (appart from aesthetics) was that checkpatch complained
when we copy&pasted the code from one place to another.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Acked-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/acpi/ich9.c                     |  1 -
 hw/acpi/pcihp.c                    |  3 +-
 hw/acpi/piix4.c                    |  8 ++----
 hw/audio/ac97.c                    |  6 ++--
 hw/audio/cs4231.c                  |  3 +-
 hw/audio/cs4231a.c                 |  3 +-
 hw/audio/es1370.c                  |  6 ++--
 hw/audio/gus.c                     |  3 +-
 hw/audio/hda-codec.c               |  4 +--
 hw/audio/intel-hda.c               |  4 +--
 hw/audio/sb16.c                    |  3 +-
 hw/block/fdc.c                     | 16 ++++-------
 hw/char/serial-pci.c               |  4 +--
 hw/char/serial.c                   |  2 +-
 hw/display/cirrus_vga.c            |  6 ++--
 hw/display/vga-pci.c               |  3 +-
 hw/display/vga.c                   |  3 +-
 hw/display/vmware_vga.c            |  6 ++--
 hw/dma/i8257.c                     |  6 ++--
 hw/i386/acpi-build.c               |  3 +-
 hw/i386/kvm/clock.c                |  1 -
 hw/i386/kvmvapic.c                 |  3 --
 hw/i386/pc.c                       |  3 +-
 hw/i386/xen/xen_platform.c         |  3 +-
 hw/ide/ahci.c                      |  6 ++--
 hw/ide/ich.c                       |  2 +-
 hw/ide/isa.c                       |  3 +-
 hw/ide/pci.c                       | 12 +++-----
 hw/input/pckbd.c                   |  6 ++--
 hw/input/ps2.c                     | 12 +++-----
 hw/input/vmmouse.c                 |  3 +-
 hw/intc/i8259_common.c             |  1 -
 hw/intc/ioapic_common.c            |  1 -
 hw/isa/apm.c                       |  1 -
 hw/isa/lpc_ich9.c                  |  1 -
 hw/isa/piix4.c                     |  3 +-
 hw/isa/vt82c686.c                  |  6 ++--
 hw/net/e1000.c                     |  6 ++--
 hw/net/eepro100.c                  |  3 +-
 hw/net/ne2000-isa.c                |  3 +-
 hw/net/ne2000.c                    |  6 ++--
 hw/net/pcnet-pci.c                 |  3 +-
 hw/net/pcnet.c                     |  3 +-
 hw/net/rtl8139.c                   |  9 ++----
 hw/net/vmxnet3.c                   |  4 +--
 hw/nvram/eeprom93xx.c              |  3 +-
 hw/nvram/fw_cfg.c                  |  3 +-
 hw/pci-bridge/ioh3420.c            |  1 -
 hw/pci-bridge/xio3130_downstream.c |  1 -
 hw/pci-bridge/xio3130_upstream.c   |  1 -
 hw/pci-host/piix.c                 |  7 ++---
 hw/pci-host/q35.c                  |  3 +-
 hw/pci/pci.c                       |  9 ++----
 hw/pci/pcie_aer.c                  |  6 ++--
 hw/scsi/lsi53c895a.c               |  3 +-
 hw/scsi/megasas.c                  |  3 +-
 hw/scsi/scsi-bus.c                 |  4 +--
 hw/scsi/scsi-disk.c                |  1 -
 hw/scsi/vmw_pvscsi.c               |  3 +-
 hw/timer/hpet.c                    |  9 ++----
 hw/timer/i8254_common.c            |  1 -
 hw/timer/mc146818rtc.c             |  3 +-
 hw/watchdog/wdt_i6300esb.c         | 14 +++++-----
 hw/watchdog/wdt_ib700.c            |  3 +-
 target-i386/machine.c              | 57 +++++++++++++-------------------------
 65 files changed, 113 insertions(+), 219 deletions(-)

diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c
index 0afac42..407ae89 100644
--- a/hw/acpi/ich9.c
+++ b/hw/acpi/ich9.c
@@ -143,7 +143,6 @@ const VMStateDescription vmstate_ich9_pm = {
     .name = "ich9_pm",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .post_load = ich9_pm_post_load,
     .fields = (VMStateField[]) {
         VMSTATE_UINT16(acpi_regs.pm1.evt.sts, ICH9LPCPMRegs),
diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c
index 3b143b3..fae663a 100644
--- a/hw/acpi/pcihp.c
+++ b/hw/acpi/pcihp.c
@@ -324,8 +324,7 @@ const VMStateDescription vmstate_acpi_pcihp_pci_status = {
     .name = "acpi_pcihp_pci_status",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(up, AcpiPciHpPciStatus),
         VMSTATE_UINT32(down, AcpiPciHpPciStatus),
         VMSTATE_END_OF_LIST()
diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
index 67dc075..252bbf2 100644
--- a/hw/acpi/piix4.c
+++ b/hw/acpi/piix4.c
@@ -177,8 +177,7 @@ static const VMStateDescription vmstate_gpe = {
     .name = "gpe",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_GPE_ARRAY(sts, ACPIGPE),
         VMSTATE_GPE_ARRAY(en, ACPIGPE),
         VMSTATE_END_OF_LIST()
@@ -189,8 +188,7 @@ static const VMStateDescription vmstate_pci_status = {
     .name = "pci_status",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(up, struct AcpiPciHpPciStatus),
         VMSTATE_UINT32(down, struct AcpiPciHpPciStatus),
         VMSTATE_END_OF_LIST()
@@ -259,7 +257,7 @@ static const VMStateDescription vmstate_acpi = {
     .minimum_version_id_old = 1,
     .load_state_old = acpi_load_old,
     .post_load = vmstate_acpi_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, PIIX4PMState),
         VMSTATE_UINT16(ar.pm1.evt.sts, PIIX4PMState),
         VMSTATE_UINT16(ar.pm1.evt.en, PIIX4PMState),
diff --git a/hw/audio/ac97.c b/hw/audio/ac97.c
index 03f4846..45cb118 100644
--- a/hw/audio/ac97.c
+++ b/hw/audio/ac97.c
@@ -1163,8 +1163,7 @@ static const VMStateDescription vmstate_ac97_bm_regs = {
     .name = "ac97_bm_regs",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32 (bdbar, AC97BusMasterRegs),
         VMSTATE_UINT8 (civ, AC97BusMasterRegs),
         VMSTATE_UINT8 (lvi, AC97BusMasterRegs),
@@ -1211,9 +1210,8 @@ static const VMStateDescription vmstate_ac97 = {
     .name = "ac97",
     .version_id = 3,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
     .post_load = ac97_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE (dev, AC97LinkState),
         VMSTATE_UINT32 (glob_cnt, AC97LinkState),
         VMSTATE_UINT32 (glob_sta, AC97LinkState),
diff --git a/hw/audio/cs4231.c b/hw/audio/cs4231.c
index d19195a..6325a8c 100644
--- a/hw/audio/cs4231.c
+++ b/hw/audio/cs4231.c
@@ -137,8 +137,7 @@ static const VMStateDescription vmstate_cs4231 = {
     .name ="cs4231",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32_ARRAY(regs, CSState, CS_REGS),
         VMSTATE_UINT8_ARRAY(dregs, CSState, CS_DREGS),
         VMSTATE_END_OF_LIST()
diff --git a/hw/audio/cs4231a.c b/hw/audio/cs4231a.c
index a0ec17a..f96f561 100644
--- a/hw/audio/cs4231a.c
+++ b/hw/audio/cs4231a.c
@@ -621,10 +621,9 @@ static const VMStateDescription vmstate_cs4231a = {
     .name = "cs4231a",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .pre_load = cs4231a_pre_load,
     .post_load = cs4231a_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32_ARRAY (regs, CSState, CS_REGS),
         VMSTATE_BUFFER (dregs, CSState),
         VMSTATE_INT32 (dma_running, CSState),
diff --git a/hw/audio/es1370.c b/hw/audio/es1370.c
index 1ec7ace..5dbf803 100644
--- a/hw/audio/es1370.c
+++ b/hw/audio/es1370.c
@@ -953,8 +953,7 @@ static const VMStateDescription vmstate_es1370_channel = {
     .name = "es1370_channel",
     .version_id = 2,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32 (shift, struct chan),
         VMSTATE_UINT32 (leftover, struct chan),
         VMSTATE_UINT32 (scount, struct chan),
@@ -997,9 +996,8 @@ static const VMStateDescription vmstate_es1370 = {
     .name = "es1370",
     .version_id = 2,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
     .post_load = es1370_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE (dev, ES1370State),
         VMSTATE_STRUCT_ARRAY (chan, ES1370State, NB_CHANNELS, 2,
                               vmstate_es1370_channel, struct chan),
diff --git a/hw/audio/gus.c b/hw/audio/gus.c
index e29a571..bba6840 100644
--- a/hw/audio/gus.c
+++ b/hw/audio/gus.c
@@ -222,8 +222,7 @@ static const VMStateDescription vmstate_gus = {
     .name = "gus",
     .version_id = 2,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32 (pos, GUSState),
         VMSTATE_INT32 (left, GUSState),
         VMSTATE_INT32 (shift, GUSState),
diff --git a/hw/audio/hda-codec.c b/hw/audio/hda-codec.c
index 48c6ead..cbcf521 100644
--- a/hw/audio/hda-codec.c
+++ b/hw/audio/hda-codec.c
@@ -583,7 +583,7 @@ static void hda_audio_reset(DeviceState *dev)
 static const VMStateDescription vmstate_hda_audio_stream = {
     .name = "hda-audio-stream",
     .version_id = 1,
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(stream, HDAAudioStream),
         VMSTATE_UINT32(channel, HDAAudioStream),
         VMSTATE_UINT32(format, HDAAudioStream),
@@ -601,7 +601,7 @@ static const VMStateDescription vmstate_hda_audio = {
     .name = "hda-audio",
     .version_id = 2,
     .post_load = hda_audio_post_load,
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_STRUCT_ARRAY(st, HDAAudioState, 4, 0,
                              vmstate_hda_audio_stream,
                              HDAAudioStream),
diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c
index 3cfb66c..aa49b47 100644
--- a/hw/audio/intel-hda.c
+++ b/hw/audio/intel-hda.c
@@ -1176,7 +1176,7 @@ static int intel_hda_post_load(void *opaque, int version)
 static const VMStateDescription vmstate_intel_hda_stream = {
     .name = "intel-hda-stream",
     .version_id = 1,
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(ctl, IntelHDAStream),
         VMSTATE_UINT32(lpib, IntelHDAStream),
         VMSTATE_UINT32(cbl, IntelHDAStream),
@@ -1192,7 +1192,7 @@ static const VMStateDescription vmstate_intel_hda = {
     .name = "intel-hda",
     .version_id = 1,
     .post_load = intel_hda_post_load,
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(pci, IntelHDAState),

         /* registers */
diff --git a/hw/audio/sb16.c b/hw/audio/sb16.c
index bb24e00..60c4b3b 100644
--- a/hw/audio/sb16.c
+++ b/hw/audio/sb16.c
@@ -1289,9 +1289,8 @@ static const VMStateDescription vmstate_sb16 = {
     .name = "sb16",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .post_load = sb16_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32 (irq, SB16State),
         VMSTATE_UINT32 (dma, SB16State),
         VMSTATE_UINT32 (hdma, SB16State),
diff --git a/hw/block/fdc.c b/hw/block/fdc.c
index 1651007..490d127 100644
--- a/hw/block/fdc.c
+++ b/hw/block/fdc.c
@@ -672,8 +672,7 @@ static const VMStateDescription vmstate_fdrive_media_changed = {
     .name = "fdrive/media_changed",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(media_changed, FDrive),
         VMSTATE_END_OF_LIST()
     }
@@ -690,8 +689,7 @@ static const VMStateDescription vmstate_fdrive_media_rate = {
     .name = "fdrive/media_rate",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(media_rate, FDrive),
         VMSTATE_END_OF_LIST()
     }
@@ -701,8 +699,7 @@ static const VMStateDescription vmstate_fdrive = {
     .name = "fdrive",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(head, FDrive),
         VMSTATE_UINT8(track, FDrive),
         VMSTATE_UINT8(sect, FDrive),
@@ -741,10 +738,9 @@ static const VMStateDescription vmstate_fdc = {
     .name = "fdc",
     .version_id = 2,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
     .pre_save = fdc_pre_save,
     .post_load = fdc_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         /* Controller State */
         VMSTATE_UINT8(sra, FDCtrl),
         VMSTATE_UINT8(srb, FDCtrl),
@@ -2209,7 +2205,7 @@ static const VMStateDescription vmstate_isa_fdc ={
     .name = "fdc",
     .version_id = 2,
     .minimum_version_id = 2,
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_STRUCT(state, FDCtrlISABus, 0, vmstate_fdc, FDCtrl),
         VMSTATE_END_OF_LIST()
     }
@@ -2251,7 +2247,7 @@ static const VMStateDescription vmstate_sysbus_fdc ={
     .name = "fdc",
     .version_id = 2,
     .minimum_version_id = 2,
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_STRUCT(state, FDCtrlSysBus, 0, vmstate_fdc, FDCtrl),
         VMSTATE_END_OF_LIST()
     }
diff --git a/hw/char/serial-pci.c b/hw/char/serial-pci.c
index acccc9c..6c25296 100644
--- a/hw/char/serial-pci.c
+++ b/hw/char/serial-pci.c
@@ -159,7 +159,7 @@ static const VMStateDescription vmstate_pci_serial = {
     .name = "pci-serial",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(dev, PCISerialState),
         VMSTATE_STRUCT(state, PCISerialState, 0, vmstate_serial, SerialState),
         VMSTATE_END_OF_LIST()
@@ -170,7 +170,7 @@ static const VMStateDescription vmstate_pci_multi_serial = {
     .name = "pci-serial-multi",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(dev, PCIMultiSerialState),
         VMSTATE_STRUCT_ARRAY(state, PCIMultiSerialState, PCI_SERIAL_MAX_PORTS,
                              0, vmstate_serial, SerialState),
diff --git a/hw/char/serial.c b/hw/char/serial.c
index f4d167f..d17da16 100644
--- a/hw/char/serial.c
+++ b/hw/char/serial.c
@@ -602,7 +602,7 @@ const VMStateDescription vmstate_serial = {
     .minimum_version_id = 2,
     .pre_save = serial_pre_save,
     .post_load = serial_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT16_V(divider, SerialState, 2),
         VMSTATE_UINT8(rbr, SerialState),
         VMSTATE_UINT8(ier, SerialState),
diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c
index d1afc76..6fbe39d 100644
--- a/hw/display/cirrus_vga.c
+++ b/hw/display/cirrus_vga.c
@@ -2702,9 +2702,8 @@ static const VMStateDescription vmstate_cirrus_vga = {
     .name = "cirrus_vga",
     .version_id = 2,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .post_load = cirrus_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(vga.latch, CirrusVGAState),
         VMSTATE_UINT8(vga.sr_index, CirrusVGAState),
         VMSTATE_BUFFER(vga.sr, CirrusVGAState),
@@ -2742,8 +2741,7 @@ static const VMStateDescription vmstate_pci_cirrus_vga = {
     .name = "cirrus_vga",
     .version_id = 2,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(dev, PCICirrusVGAState),
         VMSTATE_STRUCT(cirrus_vga, PCICirrusVGAState, 0,
                        vmstate_cirrus_vga, CirrusVGAState),
diff --git a/hw/display/vga-pci.c b/hw/display/vga-pci.c
index 0865dc4..0351d94 100644
--- a/hw/display/vga-pci.c
+++ b/hw/display/vga-pci.c
@@ -54,8 +54,7 @@ static const VMStateDescription vmstate_vga_pci = {
     .name = "vga",
     .version_id = 2,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(dev, PCIVGAState),
         VMSTATE_STRUCT(vga, PCIVGAState, 0, vmstate_vga_common, VGACommonState),
         VMSTATE_END_OF_LIST()
diff --git a/hw/display/vga.c b/hw/display/vga.c
index 8cd6afe..4b089a3 100644
--- a/hw/display/vga.c
+++ b/hw/display/vga.c
@@ -2214,9 +2214,8 @@ const VMStateDescription vmstate_vga_common = {
     .name = "vga",
     .version_id = 2,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
     .post_load = vga_common_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(latch, VGACommonState),
         VMSTATE_UINT8(sr_index, VGACommonState),
         VMSTATE_PARTIAL_BUFFER(sr, VGACommonState, 8),
diff --git a/hw/display/vmware_vga.c b/hw/display/vmware_vga.c
index 9ba47e6..9a2123c 100644
--- a/hw/display/vmware_vga.c
+++ b/hw/display/vmware_vga.c
@@ -1152,9 +1152,8 @@ static const VMStateDescription vmstate_vmware_vga_internal = {
     .name = "vmware_vga_internal",
     .version_id = 0,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
     .post_load = vmsvga_post_load,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32_EQUAL(new_depth, struct vmsvga_state_s),
         VMSTATE_INT32(enable, struct vmsvga_state_s),
         VMSTATE_INT32(config, struct vmsvga_state_s),
@@ -1179,8 +1178,7 @@ static const VMStateDescription vmstate_vmware_vga = {
     .name = "vmware_vga",
     .version_id = 0,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, struct pci_vmsvga_state_s),
         VMSTATE_STRUCT(chip, struct pci_vmsvga_state_s, 0,
                        vmstate_vmware_vga_internal, struct vmsvga_state_s),
diff --git a/hw/dma/i8257.c b/hw/dma/i8257.c
index 4490372..dd370ed 100644
--- a/hw/dma/i8257.c
+++ b/hw/dma/i8257.c
@@ -551,8 +551,7 @@ static const VMStateDescription vmstate_dma_regs = {
     .name = "dma_regs",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32_ARRAY(now, struct dma_regs, 2),
         VMSTATE_UINT16_ARRAY(base, struct dma_regs, 2),
         VMSTATE_UINT8(mode, struct dma_regs),
@@ -575,9 +574,8 @@ static const VMStateDescription vmstate_dma = {
     .name = "dma",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .post_load = dma_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(command, struct dma_cont),
         VMSTATE_UINT8(mask, struct dma_cont),
         VMSTATE_UINT8(flip_flop, struct dma_cont),
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 9fac589..1e0aa09 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -1504,8 +1504,7 @@ static const VMStateDescription vmstate_acpi_build = {
     .name = "acpi_build",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(patched, AcpiBuildState),
         VMSTATE_END_OF_LIST()
     },
diff --git a/hw/i386/kvm/clock.c b/hw/i386/kvm/clock.c
index bef2504..272a88a 100644
--- a/hw/i386/kvm/clock.c
+++ b/hw/i386/kvm/clock.c
@@ -154,7 +154,6 @@ static const VMStateDescription kvmclock_vmsd = {
     .name = "kvmclock",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .fields = (VMStateField[]) {
         VMSTATE_UINT64(clock, KVMClockState),
         VMSTATE_END_OF_LIST()
diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c
index a967b48..cb855c7 100644
--- a/hw/i386/kvmvapic.c
+++ b/hw/i386/kvmvapic.c
@@ -770,7 +770,6 @@ static const VMStateDescription vmstate_handlers = {
     .name = "kvmvapic-handlers",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .fields = (VMStateField[]) {
         VMSTATE_UINT32(set_tpr, VAPICHandlers),
         VMSTATE_UINT32(set_tpr_eax, VAPICHandlers),
@@ -784,7 +783,6 @@ static const VMStateDescription vmstate_guest_rom = {
     .name = "kvmvapic-guest-rom",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .fields = (VMStateField[]) {
         VMSTATE_UNUSED(8),     /* signature */
         VMSTATE_UINT32(vaddr, GuestROMState),
@@ -804,7 +802,6 @@ static const VMStateDescription vmstate_vapic = {
     .name = "kvm-tpr-opt",      /* compatible with qemu-kvm VAPIC */
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .post_load = vapic_post_load,
     .fields = (VMStateField[]) {
         VMSTATE_STRUCT(rom_state, VAPICROMState, 0, vmstate_guest_rom,
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index e6369d5..5004fd7 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -503,8 +503,7 @@ static const VMStateDescription vmstate_port92_isa = {
     .name = "port92",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(outport, Port92State),
         VMSTATE_END_OF_LIST()
     }
diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index 1d9d0e9..8bb18b4 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -375,9 +375,8 @@ static const VMStateDescription vmstate_xen_platform = {
     .name = "platform",
     .version_id = 4,
     .minimum_version_id = 4,
-    .minimum_version_id_old = 4,
     .post_load = xen_platform_post_load,
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, PCIXenPlatformState),
         VMSTATE_UINT8(flags, PCIXenPlatformState),
         VMSTATE_END_OF_LIST()
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index e57c583..9bae22e 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -1225,7 +1225,7 @@ void ahci_reset(AHCIState *s)
 static const VMStateDescription vmstate_ahci_device = {
     .name = "ahci port",
     .version_id = 1,
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_IDE_BUS(port, AHCIDevice),
         VMSTATE_UINT32(port_state, AHCIDevice),
         VMSTATE_UINT32(finished, AHCIDevice),
@@ -1284,7 +1284,7 @@ const VMStateDescription vmstate_ahci = {
     .name = "ahci",
     .version_id = 1,
     .post_load = ahci_state_post_load,
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_STRUCT_VARRAY_POINTER_INT32(dev, AHCIState, ports,
                                      vmstate_ahci_device, AHCIDevice),
         VMSTATE_UINT32(control_regs.cap, AHCIState),
@@ -1313,7 +1313,7 @@ typedef struct SysbusAHCIState {
 static const VMStateDescription vmstate_sysbus_ahci = {
     .name = "sysbus-ahci",
     .unmigratable = 1, /* Still buggy under I/O load */
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_AHCI(ahci, SysbusAHCIState),
         VMSTATE_END_OF_LIST()
     },
diff --git a/hw/ide/ich.c b/hw/ide/ich.c
index 1c7c058..a2f1639 100644
--- a/hw/ide/ich.c
+++ b/hw/ide/ich.c
@@ -83,7 +83,7 @@ static const VMStateDescription vmstate_ich9_ahci = {
     .name = "ich9_ahci",
     .unmigratable = 1, /* Still buggy under I/O load */
     .version_id = 1,
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, AHCIPCIState),
         VMSTATE_AHCI(ahci, AHCIPCIState),
         VMSTATE_END_OF_LIST()
diff --git a/hw/ide/isa.c b/hw/ide/isa.c
index d2cabc1..4cbcb1c 100644
--- a/hw/ide/isa.c
+++ b/hw/ide/isa.c
@@ -57,8 +57,7 @@ static const VMStateDescription vmstate_ide_isa = {
     .name = "isa-ide",
     .version_id = 3,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_IDE_BUS(bus, ISAIDEState),
         VMSTATE_IDE_DRIVES(bus.ifs, ISAIDEState),
         VMSTATE_END_OF_LIST()
diff --git a/hw/ide/pci.c b/hw/ide/pci.c
index d8b1157..6257a21 100644
--- a/hw/ide/pci.c
+++ b/hw/ide/pci.c
@@ -411,8 +411,7 @@ static const VMStateDescription vmstate_bmdma_current = {
     .name = "ide bmdma_current",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(cur_addr, BMDMAState),
         VMSTATE_UINT32(cur_prd_last, BMDMAState),
         VMSTATE_UINT32(cur_prd_addr, BMDMAState),
@@ -425,8 +424,7 @@ static const VMStateDescription vmstate_bmdma_status = {
     .name ="ide bmdma/status",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(status, BMDMAState),
         VMSTATE_END_OF_LIST()
     }
@@ -436,9 +434,8 @@ static const VMStateDescription vmstate_bmdma = {
     .name = "ide bmdma",
     .version_id = 3,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
     .pre_save  = ide_bmdma_pre_save,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(cmd, BMDMAState),
         VMSTATE_UINT8(migration_compat_status, BMDMAState),
         VMSTATE_UINT32(addr, BMDMAState),
@@ -479,9 +476,8 @@ const VMStateDescription vmstate_ide_pci = {
     .name = "ide",
     .version_id = 3,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
     .post_load = ide_pci_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, PCIIDEState),
         VMSTATE_STRUCT_ARRAY(bmdma, PCIIDEState, 2, 0,
                              vmstate_bmdma, BMDMAState),
diff --git a/hw/input/pckbd.c b/hw/input/pckbd.c
index 29af3d7..ca1cffc 100644
--- a/hw/input/pckbd.c
+++ b/hw/input/pckbd.c
@@ -373,8 +373,7 @@ static const VMStateDescription vmstate_kbd = {
     .name = "pckbd",
     .version_id = 3,
     .minimum_version_id = 3,
-    .minimum_version_id_old = 3,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(write_cmd, KBDState),
         VMSTATE_UINT8(status, KBDState),
         VMSTATE_UINT8(mode, KBDState),
@@ -462,8 +461,7 @@ static const VMStateDescription vmstate_kbd_isa = {
     .name = "pckbd",
     .version_id = 3,
     .minimum_version_id = 3,
-    .minimum_version_id_old = 3,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_STRUCT(kbd, ISAKBDState, 0, vmstate_kbd, KBDState),
         VMSTATE_END_OF_LIST()
     }
diff --git a/hw/input/ps2.c b/hw/input/ps2.c
index 22b77df..a466e25 100644
--- a/hw/input/ps2.c
+++ b/hw/input/ps2.c
@@ -633,8 +633,7 @@ static const VMStateDescription vmstate_ps2_common = {
     .name = "PS2 Common State",
     .version_id = 3,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32(write_cmd, PS2State),
         VMSTATE_INT32(queue.rptr, PS2State),
         VMSTATE_INT32(queue.wptr, PS2State),
@@ -663,9 +662,8 @@ static const VMStateDescription vmstate_ps2_keyboard_ledstate = {
     .name = "ps2kbd/ledstate",
     .version_id = 3,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
     .post_load = ps2_kbd_ledstate_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32(ledstate, PS2KbdState),
         VMSTATE_END_OF_LIST()
     }
@@ -696,10 +694,9 @@ static const VMStateDescription vmstate_ps2_keyboard = {
     .name = "ps2kbd",
     .version_id = 3,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
     .post_load = ps2_kbd_post_load,
     .pre_save = ps2_kbd_pre_save,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_STRUCT(common, PS2KbdState, 0, vmstate_ps2_common, PS2State),
         VMSTATE_INT32(scan_enabled, PS2KbdState),
         VMSTATE_INT32(translate, PS2KbdState),
@@ -738,10 +735,9 @@ static const VMStateDescription vmstate_ps2_mouse = {
     .name = "ps2mouse",
     .version_id = 2,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
     .post_load = ps2_mouse_post_load,
     .pre_save = ps2_mouse_pre_save,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_STRUCT(common, PS2MouseState, 0, vmstate_ps2_common, PS2State),
         VMSTATE_UINT8(mouse_status, PS2MouseState),
         VMSTATE_UINT8(mouse_resolution, PS2MouseState),
diff --git a/hw/input/vmmouse.c b/hw/input/vmmouse.c
index 6a50533..d7b1c76 100644
--- a/hw/input/vmmouse.c
+++ b/hw/input/vmmouse.c
@@ -240,9 +240,8 @@ static const VMStateDescription vmstate_vmmouse = {
     .name = "vmmouse",
     .version_id = 0,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
     .post_load = vmmouse_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32_EQUAL(queue_size, VMMouseState),
         VMSTATE_UINT32_ARRAY(queue, VMMouseState, VMMOUSE_QUEUE_SIZE),
         VMSTATE_UINT16(nb_queue, VMMouseState),
diff --git a/hw/intc/i8259_common.c b/hw/intc/i8259_common.c
index 61381c4..fbf26e5 100644
--- a/hw/intc/i8259_common.c
+++ b/hw/intc/i8259_common.c
@@ -98,7 +98,6 @@ static const VMStateDescription vmstate_pic_common = {
     .name = "i8259",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .pre_save = pic_dispatch_pre_save,
     .post_load = pic_dispatch_post_load,
     .fields = (VMStateField[]) {
diff --git a/hw/intc/ioapic_common.c b/hw/intc/ioapic_common.c
index 4d3d309..8b7d118 100644
--- a/hw/intc/ioapic_common.c
+++ b/hw/intc/ioapic_common.c
@@ -86,7 +86,6 @@ static const VMStateDescription vmstate_ioapic_common = {
     .name = "ioapic",
     .version_id = 3,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .pre_save = ioapic_dispatch_pre_save,
     .post_load = ioapic_dispatch_post_load,
     .fields = (VMStateField[]) {
diff --git a/hw/isa/apm.c b/hw/isa/apm.c
index f97e7a0..054d529 100644
--- a/hw/isa/apm.c
+++ b/hw/isa/apm.c
@@ -72,7 +72,6 @@ const VMStateDescription vmstate_apm = {
     .name = "APM State",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .fields = (VMStateField[]) {
         VMSTATE_UINT8(apmc, APMState),
         VMSTATE_UINT8(apms, APMState),
diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c
index 51ce12d..97f69d6 100644
--- a/hw/isa/lpc_ich9.c
+++ b/hw/isa/lpc_ich9.c
@@ -616,7 +616,6 @@ static const VMStateDescription vmstate_ich9_lpc = {
     .name = "ICH9LPC",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .post_load = ich9_lpc_post_load,
     .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(d, ICH9LPCState),
diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c
index 492cd22..1aa17d7 100644
--- a/hw/isa/piix4.c
+++ b/hw/isa/piix4.c
@@ -76,8 +76,7 @@ static const VMStateDescription vmstate_piix4 = {
     .name = "PIIX4",
     .version_id = 2,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(dev, PIIX4State),
         VMSTATE_END_OF_LIST()
     }
diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c
index 1a93afd..e0c235c 100644
--- a/hw/isa/vt82c686.c
+++ b/hw/isa/vt82c686.c
@@ -230,9 +230,8 @@ static const VMStateDescription vmstate_acpi = {
     .name = "vt82c686b_pm",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .post_load = vmstate_acpi_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(dev, VT686PMState),
         VMSTATE_UINT16(ar.pm1.evt.sts, VT686PMState),
         VMSTATE_UINT16(ar.pm1.evt.en, VT686PMState),
@@ -418,8 +417,7 @@ static const VMStateDescription vmstate_via = {
     .name = "vt82c686b",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(dev, VT82C686BState),
         VMSTATE_END_OF_LIST()
     }
diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index 47e0775..57bdffd 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -1338,8 +1338,7 @@ static const VMStateDescription vmstate_e1000_mit_state = {
     .name = "e1000/mit_state",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields    = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(mac_reg[RDTR], E1000State),
         VMSTATE_UINT32(mac_reg[RADV], E1000State),
         VMSTATE_UINT32(mac_reg[TADV], E1000State),
@@ -1353,10 +1352,9 @@ static const VMStateDescription vmstate_e1000 = {
     .name = "e1000",
     .version_id = 2,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .pre_save = e1000_pre_save,
     .post_load = e1000_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, E1000State),
         VMSTATE_UNUSED_TEST(is_version_1, 4), /* was instance id */
         VMSTATE_UNUSED(4), /* Was mmio_base.  */
diff --git a/hw/net/eepro100.c b/hw/net/eepro100.c
index 3b891ca..aaa3ff2 100644
--- a/hw/net/eepro100.c
+++ b/hw/net/eepro100.c
@@ -1784,8 +1784,7 @@ static ssize_t nic_receive(NetClientState *nc, const uint8_t * buf, size_t size)
 static const VMStateDescription vmstate_eepro100 = {
     .version_id = 3,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(dev, EEPRO100State),
         VMSTATE_UNUSED(32),
         VMSTATE_BUFFER(mult, EEPRO100State),
diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c
index c660e58..8740844 100644
--- a/hw/net/ne2000-isa.c
+++ b/hw/net/ne2000-isa.c
@@ -59,8 +59,7 @@ static const VMStateDescription vmstate_isa_ne2000 = {
     .name = "ne2000",
     .version_id = 2,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_STRUCT(ne2000, ISANE2000State, 0, vmstate_ne2000, NE2000State),
         VMSTATE_END_OF_LIST()
     }
diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
index 4c32e9e..d558b8c 100644
--- a/hw/net/ne2000.c
+++ b/hw/net/ne2000.c
@@ -615,9 +615,8 @@ const VMStateDescription vmstate_ne2000 = {
     .name = "ne2000",
     .version_id = 2,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
     .post_load = ne2000_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8_V(rxcr, NE2000State, 2),
         VMSTATE_UINT8(cmd, NE2000State),
         VMSTATE_UINT32(start, NE2000State),
@@ -645,8 +644,7 @@ static const VMStateDescription vmstate_pci_ne2000 = {
     .name = "ne2000",
     .version_id = 3,
     .minimum_version_id = 3,
-    .minimum_version_id_old = 3,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(dev, PCINE2000State),
         VMSTATE_STRUCT(ne2000, PCINE2000State, 0, vmstate_ne2000, NE2000State),
         VMSTATE_END_OF_LIST()
diff --git a/hw/net/pcnet-pci.c b/hw/net/pcnet-pci.c
index 6a5d806..b25d789 100644
--- a/hw/net/pcnet-pci.c
+++ b/hw/net/pcnet-pci.c
@@ -241,8 +241,7 @@ static const VMStateDescription vmstate_pci_pcnet = {
     .name = "pcnet",
     .version_id = 3,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, PCIPCNetState),
         VMSTATE_STRUCT(state, PCIPCNetState, 0, vmstate_pcnet, PCNetState),
         VMSTATE_END_OF_LIST()
diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index ebe5057..5299d52 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1700,8 +1700,7 @@ const VMStateDescription vmstate_pcnet = {
     .name = "pcnet",
     .version_id = 3,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32(rap, PCNetState),
         VMSTATE_INT32(isr, PCNetState),
         VMSTATE_INT32(lnkst, PCNetState),
diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
index 5329f44..90bc5ec 100644
--- a/hw/net/rtl8139.c
+++ b/hw/net/rtl8139.c
@@ -1358,8 +1358,7 @@ static const VMStateDescription vmstate_tally_counters = {
     .name = "tally_counters",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(TxOk, RTL8139TallyCounters),
         VMSTATE_UINT64(RxOk, RTL8139TallyCounters),
         VMSTATE_UINT64(TxERR, RTL8139TallyCounters),
@@ -3271,8 +3270,7 @@ static const VMStateDescription vmstate_rtl8139_hotplug_ready ={
     .name = "rtl8139/hotplug_ready",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_END_OF_LIST()
     }
 };
@@ -3293,10 +3291,9 @@ static const VMStateDescription vmstate_rtl8139 = {
     .name = "rtl8139",
     .version_id = 4,
     .minimum_version_id = 3,
-    .minimum_version_id_old = 3,
     .post_load = rtl8139_post_load,
     .pre_save  = rtl8139_pre_save,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, RTL8139State),
         VMSTATE_PARTIAL_BUFFER(phys, RTL8139State, 6),
         VMSTATE_BUFFER(mult, RTL8139State),
diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index f3be494..77bea6f 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -2223,7 +2223,6 @@ static const VMStateDescription vmxstate_vmxnet3_mcast_list = {
     .name = "vmxnet3/mcast_list",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .pre_load = vmxnet3_mcast_list_pre_load,
     .fields = (VMStateField[]) {
         VMSTATE_VBUFFER_UINT32(mcast_list, VMXNET3State, 0, NULL, 0,
@@ -2433,10 +2432,9 @@ static const VMStateDescription vmstate_vmxnet3 = {
     .name = "vmxnet3",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .pre_save = vmxnet3_pre_save,
     .post_load = vmxnet3_post_load,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
             VMSTATE_PCI_DEVICE(parent_obj, VMXNET3State),
             VMSTATE_BOOL(rx_packets_compound, VMXNET3State),
             VMSTATE_BOOL(rx_vlan_stripping, VMXNET3State),
diff --git a/hw/nvram/eeprom93xx.c b/hw/nvram/eeprom93xx.c
index a98f924..0af4d67 100644
--- a/hw/nvram/eeprom93xx.c
+++ b/hw/nvram/eeprom93xx.c
@@ -125,8 +125,7 @@ static const VMStateDescription vmstate_eeprom = {
     .name = "eeprom",
     .version_id = EEPROM_VERSION,
     .minimum_version_id = OLD_EEPROM_VERSION,
-    .minimum_version_id_old = OLD_EEPROM_VERSION,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(tick, eeprom_t),
         VMSTATE_UINT8(address, eeprom_t),
         VMSTATE_UINT8(command, eeprom_t),
diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
index 282341a..b71d251 100644
--- a/hw/nvram/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
@@ -377,8 +377,7 @@ static const VMStateDescription vmstate_fw_cfg = {
     .name = "fw_cfg",
     .version_id = 2,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT16(cur_entry, FWCfgState),
         VMSTATE_UINT16_HACK(cur_offset, FWCfgState, is_version_1),
         VMSTATE_UINT32_V(cur_offset, FWCfgState, 2),
diff --git a/hw/pci-bridge/ioh3420.c b/hw/pci-bridge/ioh3420.c
index 0f7f209..f4e17ac 100644
--- a/hw/pci-bridge/ioh3420.c
+++ b/hw/pci-bridge/ioh3420.c
@@ -184,7 +184,6 @@ static const VMStateDescription vmstate_ioh3420 = {
     .name = "ioh-3240-express-root-port",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .post_load = pcie_cap_slot_post_load,
     .fields = (VMStateField[]) {
         VMSTATE_PCIE_DEVICE(parent_obj.parent_obj.parent_obj, PCIESlot),
diff --git a/hw/pci-bridge/xio3130_downstream.c b/hw/pci-bridge/xio3130_downstream.c
index 94f9781..8f22f93 100644
--- a/hw/pci-bridge/xio3130_downstream.c
+++ b/hw/pci-bridge/xio3130_downstream.c
@@ -151,7 +151,6 @@ static const VMStateDescription vmstate_xio3130_downstream = {
     .name = "xio3130-express-downstream-port",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .post_load = pcie_cap_slot_post_load,
     .fields = (VMStateField[]) {
         VMSTATE_PCIE_DEVICE(parent_obj.parent_obj.parent_obj, PCIESlot),
diff --git a/hw/pci-bridge/xio3130_upstream.c b/hw/pci-bridge/xio3130_upstream.c
index 59f97f6..eada582 100644
--- a/hw/pci-bridge/xio3130_upstream.c
+++ b/hw/pci-bridge/xio3130_upstream.c
@@ -131,7 +131,6 @@ static const VMStateDescription vmstate_xio3130_upstream = {
     .name = "xio3130-express-upstream-port",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .fields = (VMStateField[]) {
         VMSTATE_PCIE_DEVICE(parent_obj.parent_obj, PCIEPort),
         VMSTATE_STRUCT(parent_obj.parent_obj.exp.aer_log, PCIEPort, 0,
diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index ffdc853..e0e0946 100644
--- a/hw/pci-host/piix.c
+++ b/hw/pci-host/piix.c
@@ -203,7 +203,7 @@ static const VMStateDescription vmstate_i440fx = {
     .minimum_version_id_old = 1,
     .load_state_old = i440fx_load_old,
     .post_load = i440fx_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, PCII440FXState),
         VMSTATE_UINT8(smm_enabled, PCII440FXState),
         VMSTATE_END_OF_LIST()
@@ -553,7 +553,7 @@ static const VMStateDescription vmstate_piix3_rcr = {
     .name = "PIIX3/rcr",
     .version_id = 1,
     .minimum_version_id = 1,
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(rcr, PIIX3State),
         VMSTATE_END_OF_LIST()
     }
@@ -563,10 +563,9 @@ static const VMStateDescription vmstate_piix3 = {
     .name = "PIIX3",
     .version_id = 3,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
     .post_load = piix3_post_load,
     .pre_save = piix3_pre_save,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(dev, PIIX3State),
         VMSTATE_INT32_ARRAY_V(pci_irq_levels_vmstate, PIIX3State,
                               PIIX_NUM_PIRQS, 3),
diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c
index aa48b1c..a0a3068 100644
--- a/hw/pci-host/q35.c
+++ b/hw/pci-host/q35.c
@@ -326,9 +326,8 @@ static const VMStateDescription vmstate_mch = {
     .name = "mch",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .post_load = mch_post_load,
-    .fields = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, MCHPCIState),
         VMSTATE_UINT8(smm_enabled, MCHPCIState),
         VMSTATE_END_OF_LIST()
diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 8d6a8d4..17ed510 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -64,8 +64,7 @@ static const VMStateDescription vmstate_pcibus = {
     .name = "PCIBUS",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32_EQUAL(nirq, PCIBus),
         VMSTATE_VARRAY_INT32(irq_count, PCIBus,
                              nirq, 0, vmstate_info_int32,
@@ -473,8 +472,7 @@ const VMStateDescription vmstate_pci_device = {
     .name = "PCIDevice",
     .version_id = 2,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32_POSITIVE_LE(version_id, PCIDevice),
         VMSTATE_BUFFER_UNSAFE_INFO(config, PCIDevice, 0,
                                    vmstate_info_pci_config,
@@ -490,8 +488,7 @@ const VMStateDescription vmstate_pcie_device = {
     .name = "PCIEDevice",
     .version_id = 2,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_INT32_POSITIVE_LE(version_id, PCIDevice),
         VMSTATE_BUFFER_UNSAFE_INFO(config, PCIDevice, 0,
                                    vmstate_info_pci_config,
diff --git a/hw/pci/pcie_aer.c b/hw/pci/pcie_aer.c
index 535be2c..1f4be16 100644
--- a/hw/pci/pcie_aer.c
+++ b/hw/pci/pcie_aer.c
@@ -784,8 +784,7 @@ static const VMStateDescription vmstate_pcie_aer_err = {
     .name = "PCIE_AER_ERROR",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields     = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(status, PCIEAERErr),
         VMSTATE_UINT16(source_id, PCIEAERErr),
         VMSTATE_UINT16(flags, PCIEAERErr),
@@ -806,8 +805,7 @@ const VMStateDescription vmstate_pcie_aer_log = {
     .name = "PCIE_AER_ERROR_LOG",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields     = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT16(log_num, PCIEAERLog),
         VMSTATE_UINT16_EQUAL(log_max, PCIEAERLog),
         VMSTATE_VALIDATE("log_num <= log_max", pcie_aer_state_log_num_valid),
diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
index cb30414..786d848 100644
--- a/hw/scsi/lsi53c895a.c
+++ b/hw/scsi/lsi53c895a.c
@@ -1994,9 +1994,8 @@ static const VMStateDescription vmstate_lsi_scsi = {
     .name = "lsiscsi",
     .version_id = 0,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
     .pre_save = lsi_pre_save,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, LSIState),

         VMSTATE_INT32(carry, LSIState),
diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index 0e109a2..b05c47a 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -2101,8 +2101,7 @@ static const VMStateDescription vmstate_megasas = {
     .name = "megasas",
     .version_id = 0,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, MegasasState),
         VMSTATE_MSIX(parent_obj, MegasasState),

diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index 06399fa..003d284 100644
--- a/hw/scsi/scsi-bus.c
+++ b/hw/scsi/scsi-bus.c
@@ -1917,8 +1917,7 @@ static const VMStateDescription vmstate_scsi_sense_state = {
     .name = "SCSIDevice/sense",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8_SUB_ARRAY(sense, SCSIDevice,
                                 SCSI_SENSE_BUF_SIZE_OLD,
                                 SCSI_SENSE_BUF_SIZE - SCSI_SENSE_BUF_SIZE_OLD),
@@ -1930,7 +1929,6 @@ const VMStateDescription vmstate_scsi_device = {
     .name = "SCSIDevice",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .fields = (VMStateField[]) {
         VMSTATE_UINT8(unit_attention.key, SCSIDevice),
         VMSTATE_UINT8(unit_attention.asc, SCSIDevice),
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index 4bcef55..fc6e32a 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
@@ -2577,7 +2577,6 @@ static const VMStateDescription vmstate_scsi_disk_state = {
     .name = "scsi-disk",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .fields = (VMStateField[]) {
         VMSTATE_SCSI_DEVICE(qdev, SCSIDiskState),
         VMSTATE_BOOL(media_changed, SCSIDiskState),
diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
index e35bff7..f9ed926 100644
--- a/hw/scsi/vmw_pvscsi.c
+++ b/hw/scsi/vmw_pvscsi.c
@@ -1143,10 +1143,9 @@ static const VMStateDescription vmstate_pvscsi = {
     .name = "pvscsi",
     .version_id = 0,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
     .pre_save = pvscsi_pre_save,
     .post_load = pvscsi_post_load,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(parent_obj, PVSCSIState),
         VMSTATE_UINT8(msi_used, PVSCSIState),
         VMSTATE_UINT32(resetting, PVSCSIState),
diff --git a/hw/timer/hpet.c b/hw/timer/hpet.c
index 2792f89..e160e8f 100644
--- a/hw/timer/hpet.c
+++ b/hw/timer/hpet.c
@@ -282,8 +282,7 @@ static const VMStateDescription vmstate_hpet_rtc_irq_level = {
     .name = "hpet/rtc_irq_level",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(rtc_irq_level, HPETState),
         VMSTATE_END_OF_LIST()
     }
@@ -293,8 +292,7 @@ static const VMStateDescription vmstate_hpet_timer = {
     .name = "hpet_timer",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT8(tn, HPETTimer),
         VMSTATE_UINT64(config, HPETTimer),
         VMSTATE_UINT64(cmp, HPETTimer),
@@ -310,11 +308,10 @@ static const VMStateDescription vmstate_hpet = {
     .name = "hpet",
     .version_id = 2,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .pre_save = hpet_pre_save,
     .pre_load = hpet_pre_load,
     .post_load = hpet_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(config, HPETState),
         VMSTATE_UINT64(isr, HPETState),
         VMSTATE_UINT64(hpet_counter, HPETState),
diff --git a/hw/timer/i8254_common.c b/hw/timer/i8254_common.c
index 9db5c9d..07345f6 100644
--- a/hw/timer/i8254_common.c
+++ b/hw/timer/i8254_common.c
@@ -180,7 +180,6 @@ static const VMStateDescription vmstate_pit_channel = {
     .name = "pit channel",
     .version_id = 2,
     .minimum_version_id = 2,
-    .minimum_version_id_old = 2,
     .fields = (VMStateField[]) {
         VMSTATE_INT32(count, PITChannelState),
         VMSTATE_UINT16(latched_count, PITChannelState),
diff --git a/hw/timer/mc146818rtc.c b/hw/timer/mc146818rtc.c
index df54546..1201f90 100644
--- a/hw/timer/mc146818rtc.c
+++ b/hw/timer/mc146818rtc.c
@@ -720,9 +720,8 @@ static const VMStateDescription vmstate_rtc = {
     .name = "mc146818rtc",
     .version_id = 3,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
     .post_load = rtc_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_BUFFER(cmos_data, RTCState),
         VMSTATE_UINT8(cmos_index, RTCState),
         VMSTATE_UNUSED(7*4),
diff --git a/hw/watchdog/wdt_i6300esb.c b/hw/watchdog/wdt_i6300esb.c
index 36d3887..b3d6f39 100644
--- a/hw/watchdog/wdt_i6300esb.c
+++ b/hw/watchdog/wdt_i6300esb.c
@@ -379,18 +379,18 @@ static const VMStateDescription vmstate_i6300esb = {
      * version_id to be set for every build. This eventually broke
      * migration.
      *
-     * To correct this without breaking old->new migration for older versions
-     * of QEMU, we've set version_id to a value high enough to exceed all past
-     * values of sizeof(I6300State) across various build environments, and have
-     * reset minimum_version_id_old/minimum_version_id to 1, since this VMSD
-     * has never changed and thus can accept all past versions.
+     * To correct this without breaking old->new migration for older
+     * versions of QEMU, we've set version_id to a value high enough
+     * to exceed all past values of sizeof(I6300State) across various
+     * build environments, and have reset minimum_version_id to 1,
+     * since this VMSD has never changed and thus can accept all past
+     * versions.
      *
      * For future changes we can treat these values as we normally would.
      */
     .version_id = 10000,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_PCI_DEVICE(dev, I6300State),
         VMSTATE_INT32(reboot_enabled, I6300State),
         VMSTATE_INT32(clock_scale, I6300State),
diff --git a/hw/watchdog/wdt_ib700.c b/hw/watchdog/wdt_ib700.c
index 68b33e1..8cb9827 100644
--- a/hw/watchdog/wdt_ib700.c
+++ b/hw/watchdog/wdt_ib700.c
@@ -92,8 +92,7 @@ static const VMStateDescription vmstate_ib700 = {
     .name = "ib700_wdt",
     .version_id = 0,
     .minimum_version_id = 0,
-    .minimum_version_id_old = 0,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_TIMER(timer, IB700State),
         VMSTATE_END_OF_LIST()
     }
diff --git a/target-i386/machine.c b/target-i386/machine.c
index bdff447..b8dcd2f 100644
--- a/target-i386/machine.c
+++ b/target-i386/machine.c
@@ -10,8 +10,7 @@ static const VMStateDescription vmstate_segment = {
     .name = "segment",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT32(selector, SegmentCache),
         VMSTATE_UINTTL(base, SegmentCache),
         VMSTATE_UINT32(limit, SegmentCache),
@@ -36,8 +35,7 @@ static const VMStateDescription vmstate_xmm_reg = {
     .name = "xmm_reg",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(XMM_Q(0), XMMReg),
         VMSTATE_UINT64(XMM_Q(1), XMMReg),
         VMSTATE_END_OF_LIST()
@@ -52,8 +50,7 @@ static const VMStateDescription vmstate_ymmh_reg = {
     .name = "ymmh_reg",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(XMM_Q(0), XMMReg),
         VMSTATE_UINT64(XMM_Q(1), XMMReg),
         VMSTATE_END_OF_LIST()
@@ -67,8 +64,7 @@ static const VMStateDescription vmstate_bnd_regs = {
     .name = "bnd_regs",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(lb, BNDReg),
         VMSTATE_UINT64(ub, BNDReg),
         VMSTATE_END_OF_LIST()
@@ -82,8 +78,7 @@ static const VMStateDescription vmstate_mtrr_var = {
     .name = "mtrr_var",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(base, MTRRVar),
         VMSTATE_UINT64(mask, MTRRVar),
         VMSTATE_END_OF_LIST()
@@ -363,8 +358,7 @@ static const VMStateDescription vmstate_steal_time_msr = {
     .name = "cpu/steal_time_msr",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(env.steal_time_msr, X86CPU),
         VMSTATE_END_OF_LIST()
     }
@@ -374,8 +368,7 @@ static const VMStateDescription vmstate_async_pf_msr = {
     .name = "cpu/async_pf_msr",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(env.async_pf_en_msr, X86CPU),
         VMSTATE_END_OF_LIST()
     }
@@ -385,8 +378,7 @@ static const VMStateDescription vmstate_pv_eoi_msr = {
     .name = "cpu/async_pv_eoi_msr",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(env.pv_eoi_en_msr, X86CPU),
         VMSTATE_END_OF_LIST()
     }
@@ -404,8 +396,7 @@ static const VMStateDescription vmstate_fpop_ip_dp = {
     .name = "cpu/fpop_ip_dp",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT16(env.fpop, X86CPU),
         VMSTATE_UINT64(env.fpip, X86CPU),
         VMSTATE_UINT64(env.fpdp, X86CPU),
@@ -425,8 +416,7 @@ static const VMStateDescription vmstate_msr_tsc_adjust = {
     .name = "cpu/msr_tsc_adjust",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(env.tsc_adjust, X86CPU),
         VMSTATE_END_OF_LIST()
     }
@@ -444,8 +434,7 @@ static const VMStateDescription vmstate_msr_tscdeadline = {
     .name = "cpu/msr_tscdeadline",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(env.tsc_deadline, X86CPU),
         VMSTATE_END_OF_LIST()
     }
@@ -471,8 +460,7 @@ static const VMStateDescription vmstate_msr_ia32_misc_enable = {
     .name = "cpu/msr_ia32_misc_enable",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(env.msr_ia32_misc_enable, X86CPU),
         VMSTATE_END_OF_LIST()
     }
@@ -482,8 +470,7 @@ static const VMStateDescription vmstate_msr_ia32_feature_control = {
     .name = "cpu/msr_ia32_feature_control",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(env.msr_ia32_feature_control, X86CPU),
         VMSTATE_END_OF_LIST()
     }
@@ -517,8 +504,7 @@ static const VMStateDescription vmstate_msr_architectural_pmu = {
     .name = "cpu/msr_architectural_pmu",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(env.msr_fixed_ctr_ctrl, X86CPU),
         VMSTATE_UINT64(env.msr_global_ctrl, X86CPU),
         VMSTATE_UINT64(env.msr_global_status, X86CPU),
@@ -553,8 +539,7 @@ static const VMStateDescription vmstate_mpx = {
     .name = "cpu/mpx",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField[]) {
+    .fields = (VMStateField[]) {
         VMSTATE_BND_REGS(env.bnd_regs, X86CPU, 4),
         VMSTATE_UINT64(env.bndcs_regs.cfgu, X86CPU),
         VMSTATE_UINT64(env.bndcs_regs.sts, X86CPU),
@@ -575,8 +560,7 @@ static const VMStateDescription vmstate_msr_hypercall_hypercall = {
     .name = "cpu/msr_hyperv_hypercall",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(env.msr_hv_guest_os_id, X86CPU),
         VMSTATE_UINT64(env.msr_hv_hypercall, X86CPU),
         VMSTATE_END_OF_LIST()
@@ -595,8 +579,7 @@ static const VMStateDescription vmstate_msr_hyperv_vapic = {
     .name = "cpu/msr_hyperv_vapic",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(env.msr_hv_vapic, X86CPU),
         VMSTATE_END_OF_LIST()
     }
@@ -614,8 +597,7 @@ static const VMStateDescription vmstate_msr_hyperv_time = {
     .name = "cpu/msr_hyperv_time",
     .version_id = 1,
     .minimum_version_id = 1,
-    .minimum_version_id_old = 1,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINT64(env.msr_hv_tsc, X86CPU),
         VMSTATE_END_OF_LIST()
     }
@@ -625,10 +607,9 @@ const VMStateDescription vmstate_x86_cpu = {
     .name = "cpu",
     .version_id = 12,
     .minimum_version_id = 3,
-    .minimum_version_id_old = 3,
     .pre_save = cpu_pre_save,
     .post_load = cpu_post_load,
-    .fields      = (VMStateField []) {
+    .fields = (VMStateField[]) {
         VMSTATE_UINTTL_ARRAY(env.regs, X86CPU, CPU_NB_REGS),
         VMSTATE_UINTTL(env.eip, X86CPU),
         VMSTATE_UINTTL(env.eflags, X86CPU),
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Qemu-devel] [PATCH 4/4] vmstate: Refactor opening of files
  2014-06-10 16:31 [Qemu-devel] [PULL 0/4] migration queue Juan Quintela
                   ` (2 preceding siblings ...)
  2014-06-10 16:31 ` [Qemu-devel] [PATCH 3/4] savevm: Remove all the unneeded version_minimum_id_old (x86) Juan Quintela
@ 2014-06-10 16:31 ` Juan Quintela
  2014-06-10 16:41 ` [Qemu-devel] [PULL 0/4] migration queue Paolo Bonzini
  2014-06-11 14:35 ` Peter Maydell
  5 siblings, 0 replies; 14+ messages in thread
From: Juan Quintela @ 2014-06-10 16:31 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Amit Shah <amit.shah@redhat.com>
---
 tests/test-vmstate.c | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/tests/test-vmstate.c b/tests/test-vmstate.c
index 30cc721..8b242c4 100644
--- a/tests/test-vmstate.c
+++ b/tests/test-vmstate.c
@@ -44,14 +44,14 @@ void yield_until_fd_readable(int fd)
 }

 /* Duplicate temp_fd and seek to the beginning of the file */
-static int dup_temp_fd(bool truncate)
+static QEMUFile *open_test_file(bool write)
 {
     int fd = dup(temp_fd);
     lseek(fd, 0, SEEK_SET);
-    if (truncate) {
+    if (write) {
         g_assert_cmpint(ftruncate(fd, 0), ==, 0);
     }
-    return fd;
+    return qemu_fdopen(fd, write ? "wb" : "rb");
 }

 typedef struct TestSruct {
@@ -76,13 +76,13 @@ static const VMStateDescription vmstate_simple = {

 static void test_simple_save(void)
 {
-    QEMUFile *fsave = qemu_fdopen(dup_temp_fd(true), "wb");
+    QEMUFile *fsave = open_test_file(true);
     TestStruct obj = { .a = 1, .b = 2, .c = 3, .d = 4 };
     vmstate_save_state(fsave, &vmstate_simple, &obj);
     g_assert(!qemu_file_get_error(fsave));
     qemu_fclose(fsave);

-    QEMUFile *loading = qemu_fdopen(dup_temp_fd(false), "rb");
+    QEMUFile *loading = open_test_file(false);
     uint8_t expected[] = {
         0, 0, 0, 1, /* a */
         0, 0, 0, 2, /* b */
@@ -104,7 +104,7 @@ static void test_simple_save(void)

 static void test_simple_load(void)
 {
-    QEMUFile *fsave = qemu_fdopen(dup_temp_fd(true), "wb");
+    QEMUFile *fsave = open_test_file(true);
     uint8_t buf[] = {
         0, 0, 0, 10,             /* a */
         0, 0, 0, 20,             /* b */
@@ -115,7 +115,7 @@ static void test_simple_load(void)
     qemu_put_buffer(fsave, buf, sizeof(buf));
     qemu_fclose(fsave);

-    QEMUFile *loading = qemu_fdopen(dup_temp_fd(false), "rb");
+    QEMUFile *loading = open_test_file(false);
     TestStruct obj;
     vmstate_load_state(loading, &vmstate_simple, &obj, 1);
     g_assert(!qemu_file_get_error(loading));
@@ -145,7 +145,7 @@ static const VMStateDescription vmstate_versioned = {

 static void test_load_v1(void)
 {
-    QEMUFile *fsave = qemu_fdopen(dup_temp_fd(true), "wb");
+    QEMUFile *fsave = open_test_file(true);
     uint8_t buf[] = {
         0, 0, 0, 10,             /* a */
         0, 0, 0, 30,             /* c */
@@ -155,7 +155,7 @@ static void test_load_v1(void)
     qemu_put_buffer(fsave, buf, sizeof(buf));
     qemu_fclose(fsave);

-    QEMUFile *loading = qemu_fdopen(dup_temp_fd(false), "rb");
+    QEMUFile *loading = open_test_file(false);
     TestStruct obj = { .b = 200, .e = 500, .f = 600 };
     vmstate_load_state(loading, &vmstate_versioned, &obj, 1);
     g_assert(!qemu_file_get_error(loading));
@@ -170,7 +170,7 @@ static void test_load_v1(void)

 static void test_load_v2(void)
 {
-    QEMUFile *fsave = qemu_fdopen(dup_temp_fd(true), "wb");
+    QEMUFile *fsave = open_test_file(true);
     uint8_t buf[] = {
         0, 0, 0, 10,             /* a */
         0, 0, 0, 20,             /* b */
@@ -183,7 +183,7 @@ static void test_load_v2(void)
     qemu_put_buffer(fsave, buf, sizeof(buf));
     qemu_fclose(fsave);

-    QEMUFile *loading = qemu_fdopen(dup_temp_fd(false), "rb");
+    QEMUFile *loading = open_test_file(false);
     TestStruct obj;
     vmstate_load_state(loading, &vmstate_versioned, &obj, 2);
     g_assert_cmpint(obj.a, ==, 10);
@@ -219,14 +219,14 @@ static const VMStateDescription vmstate_skipping = {

 static void test_save_noskip(void)
 {
-    QEMUFile *fsave = qemu_fdopen(dup_temp_fd(true), "wb");
+    QEMUFile *fsave = open_test_file(true);
     TestStruct obj = { .a = 1, .b = 2, .c = 3, .d = 4, .e = 5, .f = 6,
                        .skip_c_e = false };
     vmstate_save_state(fsave, &vmstate_skipping, &obj);
     g_assert(!qemu_file_get_error(fsave));
     qemu_fclose(fsave);

-    QEMUFile *loading = qemu_fdopen(dup_temp_fd(false), "rb");
+    QEMUFile *loading = open_test_file(false);
     uint8_t expected[] = {
         0, 0, 0, 1,             /* a */
         0, 0, 0, 2,             /* b */
@@ -250,14 +250,14 @@ static void test_save_noskip(void)

 static void test_save_skip(void)
 {
-    QEMUFile *fsave = qemu_fdopen(dup_temp_fd(true), "wb");
+    QEMUFile *fsave = open_test_file(true);
     TestStruct obj = { .a = 1, .b = 2, .c = 3, .d = 4, .e = 5, .f = 6,
                        .skip_c_e = true };
     vmstate_save_state(fsave, &vmstate_skipping, &obj);
     g_assert(!qemu_file_get_error(fsave));
     qemu_fclose(fsave);

-    QEMUFile *loading = qemu_fdopen(dup_temp_fd(false), "rb");
+    QEMUFile *loading = open_test_file(false);
     uint8_t expected[] = {
         0, 0, 0, 1,             /* a */
         0, 0, 0, 2,             /* b */
@@ -280,7 +280,7 @@ static void test_save_skip(void)

 static void test_load_noskip(void)
 {
-    QEMUFile *fsave = qemu_fdopen(dup_temp_fd(true), "wb");
+    QEMUFile *fsave = open_test_file(true);
     uint8_t buf[] = {
         0, 0, 0, 10,             /* a */
         0, 0, 0, 20,             /* b */
@@ -293,7 +293,7 @@ static void test_load_noskip(void)
     qemu_put_buffer(fsave, buf, sizeof(buf));
     qemu_fclose(fsave);

-    QEMUFile *loading = qemu_fdopen(dup_temp_fd(false), "rb");
+    QEMUFile *loading = open_test_file(false);
     TestStruct obj = { .skip_c_e = false };
     vmstate_load_state(loading, &vmstate_skipping, &obj, 2);
     g_assert(!qemu_file_get_error(loading));
@@ -308,7 +308,7 @@ static void test_load_noskip(void)

 static void test_load_skip(void)
 {
-    QEMUFile *fsave = qemu_fdopen(dup_temp_fd(true), "wb");
+    QEMUFile *fsave = open_test_file(true);
     uint8_t buf[] = {
         0, 0, 0, 10,             /* a */
         0, 0, 0, 20,             /* b */
@@ -319,7 +319,7 @@ static void test_load_skip(void)
     qemu_put_buffer(fsave, buf, sizeof(buf));
     qemu_fclose(fsave);

-    QEMUFile *loading = qemu_fdopen(dup_temp_fd(false), "rb");
+    QEMUFile *loading = open_test_file(false);
     TestStruct obj = { .skip_c_e = true, .c = 300, .e = 500 };
     vmstate_load_state(loading, &vmstate_skipping, &obj, 2);
     g_assert(!qemu_file_get_error(loading));
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] migration queue
  2014-06-10 16:31 [Qemu-devel] [PULL 0/4] migration queue Juan Quintela
                   ` (3 preceding siblings ...)
  2014-06-10 16:31 ` [Qemu-devel] [PATCH 4/4] vmstate: Refactor opening of files Juan Quintela
@ 2014-06-10 16:41 ` Paolo Bonzini
  2014-06-11 10:20   ` Juan Quintela
  2014-06-11 14:35 ` Peter Maydell
  5 siblings, 1 reply; 14+ messages in thread
From: Paolo Bonzini @ 2014-06-10 16:41 UTC (permalink / raw)
  To: Juan Quintela, qemu-devel

Il 10/06/2014 18:31, Juan Quintela ha scritto:
> Hi
>
> This includes:
>
> - last two patches that remove version_minimum_id_old.
>
> - refactor of opening of files was already tested (this is test-vmstate only)
> - v4 of flags in ram_load from Peter.
>
> Please, apply.
>
> Juan.

You missed the patch to change the default minimum downtime.

Paolo

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] migration queue
  2014-06-10 16:41 ` [Qemu-devel] [PULL 0/4] migration queue Paolo Bonzini
@ 2014-06-11 10:20   ` Juan Quintela
  0 siblings, 0 replies; 14+ messages in thread
From: Juan Quintela @ 2014-06-11 10:20 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel

Paolo Bonzini <pbonzini@redhat.com> wrote:
> Il 10/06/2014 18:31, Juan Quintela ha scritto:
>> Hi
>>
>> This includes:
>>
>> - last two patches that remove version_minimum_id_old.
>>
>> - refactor of opening of files was already tested (this is test-vmstate only)
>> - v4 of flags in ram_load from Peter.
>>
>> Please, apply.
>>
>> Juan.
>
> You missed the patch to change the default minimum downtime.

Thanks, v4 was still not ready when I did the pull request.
Added the downtime one & RDMA for next pull request (that expect to be
just after this one gets integrated.)

Thanks again, Juan.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] migration queue
  2014-06-10 16:31 [Qemu-devel] [PULL 0/4] migration queue Juan Quintela
                   ` (4 preceding siblings ...)
  2014-06-10 16:41 ` [Qemu-devel] [PULL 0/4] migration queue Paolo Bonzini
@ 2014-06-11 14:35 ` Peter Maydell
  2014-06-12 12:13   ` Juan Quintela
  5 siblings, 1 reply; 14+ messages in thread
From: Peter Maydell @ 2014-06-11 14:35 UTC (permalink / raw)
  To: Juan Quintela; +Cc: QEMU Developers

On 10 June 2014 17:31, Juan Quintela <quintela@redhat.com> wrote:
> Hi
>
> This includes:
>
> - last two patches that remove version_minimum_id_old.
>
> - refactor of opening of files was already tested (this is test-vmstate only)
> - v4 of flags in ram_load from Peter.
>
> Please, apply.
>
> Juan.
>
>
> The following changes since commit 3334e929ae2d01e47c3e64757ee7fcf975cede94:
>
>   Merge remote-tracking branch 'remotes/kraxel/tags/pull-console-20140610-1' into staging (2014-06-10 12:06:17 +0100)
>
> are available in the git repository at:
>
>
>   git://github.com/juanquintela/qemu.git tags/migration/20140610
>
> for you to fetch changes up to e59d8b1399705ea94d6e66040e37848c56cb4843:
>
>   vmstate: Refactor opening of files (2014-06-10 16:52:14 +0200)
>
> ----------------------------------------------------------------
> migration/next for 20140610
>
> ----------------------------------------------------------------
> Juan Quintela (3):
>       savevm: Remove all the unneeded version_minimum_id_old (ppc)
>       savevm: Remove all the unneeded version_minimum_id_old (x86)
>       vmstate: Refactor opening of files
>
> Peter Lieven (1):
>       migration: catch unknown flags in ram_load

I'm afraid this doesn't seem to build on 32 bit:

/root/qemu/arch_init.c: In function ‘ram_load’:
/root/qemu/arch_init.c:1101:17: error: format ‘%llx’ expects argument
of type ‘long long unsigned int’, but argument 2 has type ‘ram_addr_t’
[-Werror=format]
/root/qemu/arch_init.c:1113:17: error: format ‘%llx’ expects argument
of type ‘long long unsigned int’, but argument 2 has type ‘ram_addr_t’
[-Werror=format]
/root/qemu/arch_init.c:1122:17: error: format ‘%llx’ expects argument
of type ‘long long unsigned int’, but argument 2 has type ‘ram_addr_t’
[-Werror=format]
/root/qemu/arch_init.c:1129:30: error: format ‘%llx’ expects argument
of type ‘long long unsigned int’, but argument 2 has type ‘ram_addr_t’
[-Werror=format]
cc1: all warnings being treated as errors
make[1]: *** [arch_init.o] Error 1

thanks
-- PMM

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] migration queue
  2014-06-11 14:35 ` Peter Maydell
@ 2014-06-12 12:13   ` Juan Quintela
  0 siblings, 0 replies; 14+ messages in thread
From: Juan Quintela @ 2014-06-12 12:13 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers

Peter Maydell <peter.maydell@linaro.org> wrote:
> On 10 June 2014 17:31, Juan Quintela <quintela@redhat.com> wrote:
>> Hi
>>
>> This includes:
>>
>> - last two patches that remove version_minimum_id_old.
>>
>> - refactor of opening of files was already tested (this is test-vmstate only)
>> - v4 of flags in ram_load from Peter.
>>
>> Please, apply.
>>
>> Juan.
>>
>>
>> The following changes since commit 3334e929ae2d01e47c3e64757ee7fcf975cede94:
>>
>>   Merge remote-tracking branch 'remotes/kraxel/tags/pull-console-20140610-1' into staging (2014-06-10 12:06:17 +0100)
>>
>> are available in the git repository at:
>>
>>
>>   git://github.com/juanquintela/qemu.git tags/migration/20140610
>>
>> for you to fetch changes up to e59d8b1399705ea94d6e66040e37848c56cb4843:
>>
>>   vmstate: Refactor opening of files (2014-06-10 16:52:14 +0200)
>>
>> ----------------------------------------------------------------
>> migration/next for 20140610
>>
>> ----------------------------------------------------------------
>> Juan Quintela (3):
>>       savevm: Remove all the unneeded version_minimum_id_old (ppc)
>>       savevm: Remove all the unneeded version_minimum_id_old (x86)
>>       vmstate: Refactor opening of files
>>
>> Peter Lieven (1):
>>       migration: catch unknown flags in ram_load
>
> I'm afraid this doesn't seem to build on 32 bit:

grrrrr

Guess who is installing a 32bit guest.
I already build for all architectures on linux and cross-compile for
windows, clearly it is not enough.

Thanks, and sorry for the inconveniences.

Later, Juan.

>
> /root/qemu/arch_init.c: In function ‘ram_load’:
> /root/qemu/arch_init.c:1101:17: error: format ‘%llx’ expects argument
> of type ‘long long unsigned int’, but argument 2 has type ‘ram_addr_t’
> [-Werror=format]
> /root/qemu/arch_init.c:1113:17: error: format ‘%llx’ expects argument
> of type ‘long long unsigned int’, but argument 2 has type ‘ram_addr_t’
> [-Werror=format]
> /root/qemu/arch_init.c:1122:17: error: format ‘%llx’ expects argument
> of type ‘long long unsigned int’, but argument 2 has type ‘ram_addr_t’
> [-Werror=format]
> /root/qemu/arch_init.c:1129:30: error: format ‘%llx’ expects argument
> of type ‘long long unsigned int’, but argument 2 has type ‘ram_addr_t’
> [-Werror=format]
> cc1: all warnings being treated as errors
> make[1]: *** [arch_init.o] Error 1
>
> thanks
> -- PMM

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] migration queue
  2014-03-08 21:32 Juan Quintela
@ 2014-03-10 12:36 ` Peter Maydell
  0 siblings, 0 replies; 14+ messages in thread
From: Peter Maydell @ 2014-03-10 12:36 UTC (permalink / raw)
  To: Juan Quintela; +Cc: QEMU Developers

On 8 March 2014 21:32, Juan Quintela <quintela@redhat.com> wrote:
> The following changes since commit f53f3d0a00b6df39ce8dfca942608e5b6a9a4f71:
>
>   Merge remote-tracking branch 'remotes/kvaneesh/for-upstream' into staging (2014-03-08 12:38:43 +0000)
>
> are available in the git repository at:
>
>
>   git://github.com/juanquintela/qemu.git tags/migration/20140308-1
>
> for you to fetch changes up to 464400f6a5583eafb466595add435a3a33ea980f:
>
>   migration: extend section_start/end traces (2014-03-08 22:22:34 +0100)
>
> ----------------------------------------------------------------
> migration/next for 20140308

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Qemu-devel] [PULL 0/4] migration queue
@ 2014-03-08 21:32 Juan Quintela
  2014-03-10 12:36 ` Peter Maydell
  0 siblings, 1 reply; 14+ messages in thread
From: Juan Quintela @ 2014-03-08 21:32 UTC (permalink / raw)
  To: qemu-devel

The following changes since commit f53f3d0a00b6df39ce8dfca942608e5b6a9a4f71:

  Merge remote-tracking branch 'remotes/kvaneesh/for-upstream' into staging (2014-03-08 12:38:43 +0000)

are available in the git repository at:


  git://github.com/juanquintela/qemu.git tags/migration/20140308-1

for you to fetch changes up to 464400f6a5583eafb466595add435a3a33ea980f:

  migration: extend section_start/end traces (2014-03-08 22:22:34 +0100)

----------------------------------------------------------------
migration/next for 20140308

----------------------------------------------------------------
Alexey Kardashevskiy (2):
      vl: add system_wakeup_request tracepoint
      migration: extend section_start/end traces

Gonglei (1):
      XBZRLE: Fix qemu crash when resize the xbzrle cache

Markus Armbruster (1):
      qemu_file: Fix mismerge of "use fwrite() correctly"

 arch_init.c  | 52 +++++++++++++++++++++++++++++++++++++++++++++++++---
 qemu-file.c  |  2 +-
 savevm.c     | 12 ++++++------
 trace-events |  5 +++--
 vl.c         |  2 ++
 5 files changed, 61 insertions(+), 12 deletions(-)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PULL 0/4] migration queue
  2014-02-25 14:07 Juan Quintela
@ 2014-02-26 22:55 ` Peter Maydell
  0 siblings, 0 replies; 14+ messages in thread
From: Peter Maydell @ 2014-02-26 22:55 UTC (permalink / raw)
  To: Juan Quintela; +Cc: QEMU Developers

On 25 February 2014 14:07, Juan Quintela <quintela@redhat.com> wrote:
> Hi
>
> Please pull, this include:
>
> - make rdma as stable (patch has been reviewed since long ago)(mrhines)
> - less_equal means less_equal not great_or_eual: (david and brown paperbag for me)
> - fix two XBZRLE corruptions
> - fwrite(): we are back to v2 of the patch. (me)
>
>
> The following changes since commit 0459650d94d18218808fcabc8c3227d2ee99af39:
>
>   Merge remote-tracking branch 'remotes/mdroth/qga-pull-2014-02-24' into staging (2014-02-25 12:30:01 +0000)
>
> are available in the git repository at:
>
>
>   git://github.com/juanquintela/qemu.git tags/migration/20140225
>
> for you to fetch changes up to 41310c68781d742fa9bbfd5fcb1df9b7f23f5759:
>
>   rdma: rename 'x-rdma' => 'rdma' (2014-02-25 14:30:28 +0100)
>

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Qemu-devel] [PULL 0/4] migration queue
@ 2014-02-25 14:07 Juan Quintela
  2014-02-26 22:55 ` Peter Maydell
  0 siblings, 1 reply; 14+ messages in thread
From: Juan Quintela @ 2014-02-25 14:07 UTC (permalink / raw)
  To: qemu-devel

Hi

Please pull, this include:

- make rdma as stable (patch has been reviewed since long ago)(mrhines)
- less_equal means less_equal not great_or_eual: (david and brown paperbag for me)
- fix two XBZRLE corruptions
- fwrite(): we are back to v2 of the patch. (me)


The following changes since commit 0459650d94d18218808fcabc8c3227d2ee99af39:

  Merge remote-tracking branch 'remotes/mdroth/qga-pull-2014-02-24' into staging (2014-02-25 12:30:01 +0000)

are available in the git repository at:


  git://github.com/juanquintela/qemu.git tags/migration/20140225

for you to fetch changes up to 41310c68781d742fa9bbfd5fcb1df9b7f23f5759:

  rdma: rename 'x-rdma' => 'rdma' (2014-02-25 14:30:28 +0100)

----------------------------------------------------------------
migration/next for 20140225

----------------------------------------------------------------
Dr. David Alan Gilbert (2):
      Fix vmstate_info_int32_le comparison/assign
      Fix two XBZRLE corruption issues

Juan Quintela (1):
      qemu_file: use fwrite() correctly

Michael R. Hines (1):
      rdma: rename 'x-rdma' => 'rdma'

 arch_init.c                    | 64 ++++++++++++++++++++++++++++++++----------
 docs/rdma.txt                  | 24 +++++++---------
 include/migration/page_cache.h |  2 +-
 migration-rdma.c               |  2 +-
 migration.c                    |  6 ++--
 page_cache.c                   |  2 +-
 qapi-schema.json               |  7 ++---
 qemu-file.c                    |  9 +++++-
 vmstate.c                      | 15 +++++-----
 9 files changed, 84 insertions(+), 47 deletions(-)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Qemu-devel] [PULL 0/4] migration queue
@ 2013-04-09 13:09 Juan Quintela
  0 siblings, 0 replies; 14+ messages in thread
From: Juan Quintela @ 2013-04-09 13:09 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori

Hi

Anthony,  this inculed the iovec patches that help savevm performance by paolo.  Please pull.

Later,  Juan.


The following changes since commit 47b5264eb3e1cd2825e48d28fd0d1b239ed53974:

  Merge remote-tracking branch 'bonzini/hw-dirs' into staging (2013-04-08 13:12:33 -0500)

are available in the git repository at:


  git://github.com/juanquintela/qemu.git migration.next

for you to fetch changes up to 4d1172472cdf28a444321ca8b165ce7326eb919e:

  migration: simplify writev vs. non-writev logic (2013-04-09 15:00:13 +0200)

----------------------------------------------------------------
Paolo Bonzini (4):
      migration: set f->is_write and flush in add_to_iovec
      migration: use a single I/O operation when writev_buffer is not defined
      migration: drop is_write complications
      migration: simplify writev vs. non-writev logic

 savevm.c | 104 ++++++++++++++++++++++++++-------------------------------------
 1 file changed, 42 insertions(+), 62 deletions(-)

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2014-06-12 12:13 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-10 16:31 [Qemu-devel] [PULL 0/4] migration queue Juan Quintela
2014-06-10 16:31 ` [Qemu-devel] [PATCH 1/4] migration: catch unknown flags in ram_load Juan Quintela
2014-06-10 16:31 ` [Qemu-devel] [PATCH 2/4] savevm: Remove all the unneeded version_minimum_id_old (ppc) Juan Quintela
2014-06-10 16:31 ` [Qemu-devel] [PATCH 3/4] savevm: Remove all the unneeded version_minimum_id_old (x86) Juan Quintela
2014-06-10 16:31 ` [Qemu-devel] [PATCH 4/4] vmstate: Refactor opening of files Juan Quintela
2014-06-10 16:41 ` [Qemu-devel] [PULL 0/4] migration queue Paolo Bonzini
2014-06-11 10:20   ` Juan Quintela
2014-06-11 14:35 ` Peter Maydell
2014-06-12 12:13   ` Juan Quintela
  -- strict thread matches above, loose matches on Subject: below --
2014-03-08 21:32 Juan Quintela
2014-03-10 12:36 ` Peter Maydell
2014-02-25 14:07 Juan Quintela
2014-02-26 22:55 ` Peter Maydell
2013-04-09 13:09 Juan Quintela

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.