qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [RFC 0/7] Optional toplevel sections


From: Juan Quintela
Subject: [Qemu-devel] [RFC 0/7] Optional toplevel sections
Date: Wed, 15 Oct 2014 09:55:03 +0200

Hi

by popular demand, and after too many time, this series.  This is an
RFC to know what people think about how to use them, the interface
proposed, whatever.

* simplify optional subsections moving the "needed" function to
  vmstate description.  I think that this simplification makes sense
  by itself, it is indipendent of the rest of the patches.

* runstate: To make an example of an optional section, I decided to
  use current runstate.  Right now, we have a problem when:
  - we start destination without -S
  - we run migration, and it causes an ioerror on source, but migration finishes
  - we try to run migration on destination anyways, when it is
    possible that we could get disk corruption (the ioerror was there for a 
reason)
  Luiz: You can see any obvious improvement about how we use runstates?
  Laine: Could you told me if you (libvirt) like this or would want
     something a bit different?

* I sent that option indpendently for new machine types.

* For old machine types I use this as one example of optional section.
  We only sent it when the state is different from "running" or "paused".

  So, the only case where we fail is if we migrate to an old qemu and
  there is one error.

* On the runstate subsection "postload" we can send any event for
  anything that libvirt wants when migration finishes.
  Laine, can you told us what libvirt would preffer for this?

Kevin: You asked for optional sections in the past for the block
   layer, would this proposal be enough for you?

Please review, comment.

Thanks, Juan.

PD.  Yes, on proper submission, patches 6 and 7 are on the wrong order.

Juan Quintela (7):
  migration: Create optional sections
  runstate: Add runstate store
  runstate: create runstate_index function
  runstate: migration allows more transitions now
  migration: create now section to store global state
  global_state: Make section optional
  vmstate: Create optional sections

 cpus.c                        |  11 ++--
 docs/migration.txt            |  11 ++--
 exec.c                        |  11 ++--
 hw/acpi/ich9.c                |  10 ++--
 hw/acpi/piix4.c               |  10 ++--
 hw/block/fdc.c                |  37 +++++--------
 hw/char/serial.c              |  41 ++++++---------
 hw/display/qxl.c              |  11 ++--
 hw/display/vga.c              |  11 ++--
 hw/i386/pc_piix.c             |   2 +
 hw/ide/core.c                 |  32 +++++-------
 hw/ide/pci.c                  |  16 +++---
 hw/input/pckbd.c              |  22 ++++----
 hw/input/ps2.c                |  11 ++--
 hw/isa/lpc_ich9.c             |  10 ++--
 hw/net/e1000.c                |  11 ++--
 hw/net/rtl8139.c              |  11 ++--
 hw/net/vmxnet3.c              |  12 ++---
 hw/pci-host/piix.c            |  10 ++--
 hw/scsi/scsi-bus.c            |  11 ++--
 hw/timer/hpet.c               |  11 ++--
 hw/timer/mc146818rtc.c        |  23 ++++-----
 hw/usb/hcd-ohci.c             |  11 ++--
 hw/usb/redirect.c             |  34 ++++++------
 hw/virtio/virtio.c            |  10 ++--
 include/migration/migration.h |   4 ++
 include/migration/vmstate.h   |  10 ++--
 include/sysemu/sysemu.h       |   2 +
 migration.c                   | 117 ++++++++++++++++++++++++++++++++++++++++--
 savevm.c                      |  14 +++--
 target-arm/machine.c          |  26 ++++------
 target-i386/machine.c         |  71 ++++++++++---------------
 target-ppc/machine.c          |  62 +++++++++-------------
 vl.c                          |  26 ++++++++++
 vmstate.c                     |  27 +++++++---
 35 files changed, 393 insertions(+), 356 deletions(-)

-- 
2.1.0




reply via email to

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