From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=40097 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P3EKZ-0004Ih-0C for qemu-devel@nongnu.org; Tue, 05 Oct 2010 16:41:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P3EKX-0007ui-9s for qemu-devel@nongnu.org; Tue, 05 Oct 2010 16:41:46 -0400 Received: from mail-px0-f173.google.com ([209.85.212.173]:40720) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P3EKX-0007uP-2J for qemu-devel@nongnu.org; Tue, 05 Oct 2010 16:41:45 -0400 Received: by pxi12 with SMTP id 12so2135474pxi.4 for ; Tue, 05 Oct 2010 13:41:43 -0700 (PDT) Message-ID: <4CAB8D81.50109@codemonkey.ws> Date: Tue, 05 Oct 2010 15:41:37 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <20101005202556.12739.14080.stgit@s20.home> In-Reply-To: <20101005202556.12739.14080.stgit@s20.home> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [RFC PATCH 0/5] Save state error handling (kill off no_migrate) List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Williamson Cc: cam@cs.ualberta.ca, qemu-devel@nongnu.org, quintela@redhat.com On 10/05/2010 03:35 PM, Alex Williamson wrote: > 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, > Doesn't this mean that we don't fail the migration until after transferring all of the memory contents? Regards, Anthony Liguori > 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(-) >