From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:41039) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RdMJt-00077G-O1 for qemu-devel@nongnu.org; Wed, 21 Dec 2011 08:34:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RdMJq-0004od-1U for qemu-devel@nongnu.org; Wed, 21 Dec 2011 08:34:57 -0500 Received: from mx1.redhat.com ([209.132.183.28]:59080) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RdMJp-0004o3-KA for qemu-devel@nongnu.org; Wed, 21 Dec 2011 08:34:53 -0500 From: Avi Kivity Date: Wed, 21 Dec 2011 15:34:33 +0200 Message-Id: <1324474477-22267-5-git-send-email-avi@redhat.com> In-Reply-To: <1324474477-22267-1-git-send-email-avi@redhat.com> References: <1324474477-22267-1-git-send-email-avi@redhat.com> Subject: [Qemu-devel] [PATCH 4/8] Remove support for version 3 ram_load List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori , qemu-devel@nongnu.org, quintela@redhat.com Version 3 ram_load depends on ram_addrs, which are not stable. Version 4 was introduced in 0.13 (and RHEL 6), so this means live migration from 0.12 and earlier to 1.1 or later will not work. Signed-off-by: Avi Kivity --- arch_init.c | 18 ++++-------------- 1 files changed, 4 insertions(+), 14 deletions(-) diff --git a/arch_init.c b/arch_init.c index 8a3f052..9b8a1f3 100644 --- a/arch_init.c +++ b/arch_init.c @@ -366,7 +366,7 @@ int ram_load(QEMUFile *f, void *opaque, int version_id) int flags; int error; - if (version_id < 3 || version_id > 4) { + if (version_id < 4 || version_id > 4) { return -EINVAL; } @@ -377,11 +377,7 @@ int ram_load(QEMUFile *f, void *opaque, int version_id) addr &= TARGET_PAGE_MASK; if (flags & RAM_SAVE_FLAG_MEM_SIZE) { - if (version_id == 3) { - if (addr != ram_bytes_total()) { - return -EINVAL; - } - } else { + if (version_id == 4) { /* Synchronize RAM block list */ char id[256]; ram_addr_t length; @@ -419,10 +415,7 @@ int ram_load(QEMUFile *f, void *opaque, int version_id) void *host; uint8_t ch; - if (version_id == 3) - host = qemu_get_ram_ptr(addr); - else - host = host_from_stream_offset(f, addr, flags); + host = host_from_stream_offset(f, addr, flags); if (!host) { return -EINVAL; } @@ -438,10 +431,7 @@ int ram_load(QEMUFile *f, void *opaque, int version_id) } else if (flags & RAM_SAVE_FLAG_PAGE) { void *host; - if (version_id == 3) - host = qemu_get_ram_ptr(addr); - else - host = host_from_stream_offset(f, addr, flags); + host = host_from_stream_offset(f, addr, flags); qemu_get_buffer(f, host, TARGET_PAGE_SIZE); } -- 1.7.7.1