qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC PATCH 0/5] Save state error handling (kill off no_migrate)
@ 2010-10-05 20:35 Alex Williamson
  2010-10-05 20:35 ` [Qemu-devel] [RFC PATCH 1/5] savevm: Allow SaveStateHandler() to return error Alex Williamson
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Alex Williamson @ 2010-10-05 20:35 UTC (permalink / raw)
  To: qemu-devel; +Cc: alex.williamson, cam, quintela

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(-)

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

end of thread, other threads:[~2010-10-06 13:11 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-05 20:35 [Qemu-devel] [RFC PATCH 0/5] Save state error handling (kill off no_migrate) Alex Williamson
2010-10-05 20:35 ` [Qemu-devel] [RFC PATCH 1/5] savevm: Allow SaveStateHandler() to return error Alex Williamson
2010-10-05 20:35 ` [Qemu-devel] [RFC PATCH 2/5] savevm: Remove register_device_unmigratable() Alex Williamson
2010-10-05 20:35 ` [Qemu-devel] [RFC PATCH 3/5] savevm: Allow vmsd->pre_save to return error Alex Williamson
2010-10-05 20:35 ` [Qemu-devel] [RFC PATCH 4/5] pci: Allow pci_device_save() " Alex Williamson
2010-10-05 20:35 ` [Qemu-devel] [RFC PATCH 5/5] virtio: Allow virtio_save() errors Alex Williamson
2010-10-05 20:41 ` [Qemu-devel] Re: [RFC PATCH 0/5] Save state error handling (kill off no_migrate) Anthony Liguori
2010-10-05 20:46   ` Alex Williamson
2010-10-05 20:49     ` Anthony Liguori
2010-10-05 20:58       ` Alex Williamson
2010-10-06  2:29         ` Alex Williamson
2010-10-06 12:55           ` Anthony Liguori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).