qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [RFC PATCH 0/5] Save state error handling (kill off no_migr


From: Alex Williamson
Subject: [Qemu-devel] [RFC PATCH 0/5] Save state error handling (kill off no_migrate)
Date: Tue, 05 Oct 2010 14:35:27 -0600
User-agent: StGIT/0.14.3

I was thinking of making KVM VMs with assigned PCI devices
unsavable/unmigratable, but I wasn't thrilled with the
no_migrate solutions.  The more generic solutions seems to be
simply letting save handlers return an error if the device can't
be migrated.  This is also much more generic than a one-way
bit flip of the no_migrate flag.  For a vmsd based registration,
the pre_save() routine seems to be the right place to allow
devices to abort.  The series also carries the error back through
all the vmstate callers.  If this looks good, I'll give it some
more testing and submit as non-RFC.  Thanks,

Alex

---

Alex Williamson (5):
      virtio: Allow virtio_save() errors
      pci: Allow pci_device_save() to return error
      savevm: Allow vmsd->pre_save to return error
      savevm: Remove register_device_unmigratable()
      savevm: Allow SaveStateHandler() to return error


 hw/adb.c                    |    8 ++++-
 hw/ads7846.c                |    4 ++-
 hw/arm_gic.c                |    4 ++-
 hw/arm_timer.c              |    6 +++-
 hw/armv7m_nvic.c            |    4 ++-
 hw/cuda.c                   |    4 ++-
 hw/fdc.c                    |    3 +-
 hw/g364fb.c                 |    4 ++-
 hw/grackle_pci.c            |    4 +--
 hw/gt64xxx.c                |    4 +--
 hw/heathrow_pic.c           |    4 ++-
 hw/hpet.c                   |    3 +-
 hw/hw.h                     |   10 +++---
 hw/i2c.c                    |    3 +-
 hw/ide/core.c               |    4 ++-
 hw/ivshmem.c                |   17 +++++++----
 hw/lsi53c895a.c             |    4 ++-
 hw/m48t59.c                 |    4 ++-
 hw/mac_dbdma.c              |    4 ++-
 hw/mac_nvram.c              |    4 ++-
 hw/max111x.c                |    4 ++-
 hw/mipsnet.c                |    4 ++-
 hw/mst_fpga.c               |    3 +-
 hw/nand.c                   |    3 +-
 hw/openpic.c                |    4 +--
 hw/pci.c                    |    8 ++++-
 hw/pci.h                    |    2 +
 hw/piix4.c                  |    4 +--
 hw/pl011.c                  |    4 ++-
 hw/pl022.c                  |    4 ++-
 hw/pl061.c                  |    4 ++-
 hw/ppc4xx_pci.c             |   10 ++++--
 hw/ppce500_pci.c            |   10 ++++--
 hw/pxa2xx.c                 |   28 +++++++++++++-----
 hw/pxa2xx_dma.c             |    4 ++-
 hw/pxa2xx_gpio.c            |    4 ++-
 hw/pxa2xx_keypad.c          |    3 +-
 hw/pxa2xx_lcd.c             |    4 ++-
 hw/pxa2xx_mmci.c            |    4 ++-
 hw/pxa2xx_pic.c             |    4 ++-
 hw/pxa2xx_timer.c           |    4 ++-
 hw/rc4030.c                 |    4 ++-
 hw/rtl8139.c                |    4 ++-
 hw/serial.c                 |    3 +-
 hw/spitz.c                  |   14 ++++++---
 hw/ssd0323.c                |    4 ++-
 hw/ssi-sd.c                 |    4 ++-
 hw/stellaris.c              |   20 ++++++++++---
 hw/stellaris_enet.c         |    4 ++-
 hw/stellaris_input.c        |    4 ++-
 hw/syborg_fb.c              |    4 ++-
 hw/syborg_interrupt.c       |    3 +-
 hw/syborg_keyboard.c        |    3 +-
 hw/syborg_pointer.c         |    3 +-
 hw/syborg_rtc.c             |    4 ++-
 hw/syborg_serial.c          |    4 ++-
 hw/syborg_timer.c           |    4 ++-
 hw/tsc2005.c                |    4 ++-
 hw/tsc210x.c                |    4 ++-
 hw/twl92230.c               |    3 +-
 hw/unin_pci.c               |    4 +--
 hw/usb-uhci.c               |    3 +-
 hw/virtio-balloon.c         |    8 ++++-
 hw/virtio-blk.c             |    9 ++++--
 hw/virtio-net.c             |    9 ++++--
 hw/virtio-pci.c             |    9 ++++--
 hw/virtio-serial-bus.c      |    9 ++++--
 hw/virtio.c                 |   13 ++++++--
 hw/virtio.h                 |    4 +--
 hw/wm8750.c                 |    3 +-
 hw/zaurus.c                 |    4 ++-
 qemu-common.h               |    2 +
 savevm.c                    |   67 +++++++++++++------------------------------
 slirp/slirp.c               |    6 +++-
 target-arm/machine.c        |    3 +-
 target-cris/machine.c       |    3 +-
 target-i386/machine.c       |    7 +++-
 target-microblaze/machine.c |    3 +-
 target-mips/machine.c       |    3 +-
 target-ppc/machine.c        |    3 +-
 target-s390x/machine.c      |    3 +-
 target-sparc/machine.c      |    3 +-
 82 files changed, 322 insertions(+), 174 deletions(-)



reply via email to

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