summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAvi Kivity2011-12-21 12:37:56 +0100
committerAvi Kivity2012-01-04 12:34:48 +0100
commitf09f2189d51b405bb1e390beeb0ccf155ab2e788 (patch)
tree9d4252a7a93fec4d930c49bf7d09f14b692f9730
parentSort RAMBlocks by ID for migration, not by ram_addr (diff)
downloadqemu-f09f2189d51b405bb1e390beeb0ccf155ab2e788.tar.gz
qemu-f09f2189d51b405bb1e390beeb0ccf155ab2e788.tar.xz
qemu-f09f2189d51b405bb1e390beeb0ccf155ab2e788.zip
Remove support for version 3 ram_load
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. Reviewed-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r--arch_init.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/arch_init.c b/arch_init.c
index 5df84048a2..bb2f263d93 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);
}