From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MlKx2-0000ER-UH for qemu-devel@nongnu.org; Wed, 09 Sep 2009 07:03:00 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MlKwx-00008d-VG for qemu-devel@nongnu.org; Wed, 09 Sep 2009 07:03:00 -0400 Received: from [199.232.76.173] (port=47320 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MlKwx-00008O-Pi for qemu-devel@nongnu.org; Wed, 09 Sep 2009 07:02:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:20260) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MlKww-0000P9-UV for qemu-devel@nongnu.org; Wed, 09 Sep 2009 07:02:55 -0400 From: Juan Quintela Date: Wed, 9 Sep 2009 13:02:50 +0200 Message-Id: <1252494170-10073-1-git-send-email-quintela@redhat.com> Subject: [Qemu-devel] [PATCH] Remove SaveVM v2 support List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com In previous series I remove v2 support for RAM (that was the version that was supported when SaveVM v3 appeared). Now we can't load RAM for any image saved in SaveVM v2, we can as well remove SaveVM v2 entirely. Note: That SaveVM RAM was at v2 when General SaveVM support went from v2 to v3 makes talking about versions confusing at least Signed-off-by: Juan Quintela --- savevm.c | 47 ++++------------------------------------------- 1 files changed, 4 insertions(+), 43 deletions(-) diff --git a/savevm.c b/savevm.c index 8216593..2567ec3 100644 --- a/savevm.c +++ b/savevm.c @@ -1276,47 +1276,6 @@ typedef struct LoadStateEntry { struct LoadStateEntry *next; } LoadStateEntry; -static int qemu_loadvm_state_v2(QEMUFile *f) -{ - SaveStateEntry *se; - int len, ret, instance_id, record_len, version_id; - int64_t total_len, end_pos, cur_pos; - char idstr[256]; - - total_len = qemu_get_be64(f); - end_pos = total_len + qemu_ftell(f); - for(;;) { - if (qemu_ftell(f) >= end_pos) - break; - len = qemu_get_byte(f); - qemu_get_buffer(f, (uint8_t *)idstr, len); - idstr[len] = '\0'; - instance_id = qemu_get_be32(f); - version_id = qemu_get_be32(f); - record_len = qemu_get_be32(f); - cur_pos = qemu_ftell(f); - se = find_se(idstr, instance_id); - if (!se) { - fprintf(stderr, "qemu: warning: instance 0x%x of device '%s' not present in current VM\n", - instance_id, idstr); - } else { - ret = vmstate_load(f, se, version_id); - if (ret < 0) { - fprintf(stderr, "qemu: warning: error while loading state for instance 0x%x of device '%s'\n", - instance_id, idstr); - return ret; - } - } - /* always seek to exact end of record */ - qemu_fseek(f, cur_pos + record_len, SEEK_SET); - } - - if (qemu_file_has_error(f)) - return -EIO; - - return 0; -} - int qemu_loadvm_state(QEMUFile *f) { LoadStateEntry *first_le = NULL; @@ -1329,8 +1288,10 @@ int qemu_loadvm_state(QEMUFile *f) return -EINVAL; v = qemu_get_be32(f); - if (v == QEMU_VM_FILE_VERSION_COMPAT) - return qemu_loadvm_state_v2(f); + if (v == QEMU_VM_FILE_VERSION_COMPAT) { + fprintf(stderr, "SaveVM v2 format is obsolete and don't work anymore\n"); + return -ENOTSUP; + } if (v != QEMU_VM_FILE_VERSION) return -ENOTSUP; -- 1.6.2.5