From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47741) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ysw08-0004nP-Uz for qemu-devel@nongnu.org; Thu, 14 May 2015 12:28:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ysw03-0006NB-UM for qemu-devel@nongnu.org; Thu, 14 May 2015 12:28:48 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58507) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ysw03-0006LR-IM for qemu-devel@nongnu.org; Thu, 14 May 2015 12:28:43 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t4EGSgVu023967 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 14 May 2015 12:28:42 -0400 From: Juan Quintela Date: Thu, 14 May 2015 18:28:31 +0200 Message-Id: <1431620920-19710-1-git-send-email-quintela@redhat.com> Subject: [Qemu-devel] [PATCH 0/9] Optional toplevel sections List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Hi [v2] - Rebased to current tree - Added global configuration section, not sent/received for previous machine types. Please, review. Thanks, Juan. [v1] 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. Juan Quintela (9): migration: create savevm_state migration: Use normal VMStateDescriptions for Subsections runstate: Add runstate store runstate: create runstate_index function runstate: migration allows more transitions now migration: create new section to store global state global_state: Make section optional vmstate: Create optional sections migration: Add configuration section 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 | 3 + hw/i386/pc_q35.c | 3 + hw/ide/core.c | 32 ++++------ hw/ide/pci.c | 16 ++--- hw/input/pckbd.c | 22 ++++--- hw/input/ps2.c | 11 ++-- hw/intc/apic_common.c | 10 ++-- 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 | 6 ++ include/migration/vmstate.h | 10 ++-- include/sysemu/sysemu.h | 2 + migration/migration.c | 114 ++++++++++++++++++++++++++++++++++- migration/vmstate.c | 27 ++++++--- savevm.c | 135 ++++++++++++++++++++++++++++++++---------- target-arm/machine.c | 26 ++++---- target-i386/machine.c | 81 ++++++++++--------------- target-ppc/machine.c | 62 ++++++++----------- target-s390x/machine.c | 21 +++---- vl.c | 27 +++++++++ 38 files changed, 508 insertions(+), 407 deletions(-) -- 2.4.0