[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 03/18] Introduce qemu_loadvm_state_no_header() and m
From: |
Yoshiaki Tamura |
Subject: |
[Qemu-devel] [PATCH 03/18] Introduce qemu_loadvm_state_no_header() and make qemu_loadvm_state() a wrapper. |
Date: |
Wed, 23 Mar 2011 13:10:11 +0900 |
Introduce qemu_loadvm_state_no_header() so that it can be called
iteratively without reading the header, and qemu_loadvm_state()
becomes a wrapper of it.
Signed-off-by: Yoshiaki Tamura <address@hidden>
---
savevm.c | 45 +++++++++++++++++++++++++++------------------
1 files changed, 27 insertions(+), 18 deletions(-)
diff --git a/savevm.c b/savevm.c
index d293f9c..4a76e32 100644
--- a/savevm.c
+++ b/savevm.c
@@ -1743,30 +1743,14 @@ typedef struct LoadStateEntry {
int version_id;
} LoadStateEntry;
-int qemu_loadvm_state(QEMUFile *f)
+static int qemu_loadvm_state_no_header(QEMUFile *f)
{
QLIST_HEAD(, LoadStateEntry) loadvm_handlers =
QLIST_HEAD_INITIALIZER(loadvm_handlers);
LoadStateEntry *le, *new_le;
uint8_t section_type;
- unsigned int v;
- int ret;
-
- if (qemu_savevm_state_blocked(default_mon)) {
- return -EINVAL;
- }
-
- v = qemu_get_be32(f);
- if (v != QEMU_VM_FILE_MAGIC)
- return -EINVAL;
- v = qemu_get_be32(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;
+ int ret;
while ((section_type = qemu_get_byte(f)) != QEMU_VM_EOF) {
uint32_t instance_id, version_id, section_id;
@@ -1861,6 +1845,31 @@ out:
return ret;
}
+int qemu_loadvm_state(QEMUFile *f)
+{
+ unsigned int v;
+
+ if (qemu_savevm_state_blocked(default_mon)) {
+ return -EINVAL;
+ }
+
+ v = qemu_get_be32(f);
+ if (v != QEMU_VM_FILE_MAGIC) {
+ return -EINVAL;
+ }
+
+ v = qemu_get_be32(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;
+ }
+
+ return qemu_loadvm_state_no_header(f);
+}
+
static int bdrv_snapshot_find(BlockDriverState *bs, QEMUSnapshotInfo *sn_info,
const char *name)
{
--
1.7.1.2
- [Qemu-devel] [PATCH 00/18] [PATCH 00/18] Kemari for KVM v0.2.13, Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 13/18] net: insert event-tap to qemu_send_packet() and qemu_sendv_packet_async()., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 10/18] Call init handler of event-tap at main() in vl.c., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 04/18] qemu-char: export socket_set_nodelay()., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 06/18] virtio: decrement last_avail_idx with inuse before saving., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 17/18] migration-tcp: modify tcp_accept_incoming_migration() to handle ft_mode, and add a hack not to close fd when ft_mode is enabled., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 12/18] Insert event_tap_mmio() to cpu_physical_memory_rw() in exec.c., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 05/18] vl.c: add deleted flag for deleting the handler., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 14/18] block: insert event-tap to bdrv_aio_writev(), bdrv_aio_flush() and bdrv_flush()., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 11/18] ioport: insert event_tap_ioport() to ioport_write()., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 03/18] Introduce qemu_loadvm_state_no_header() and make qemu_loadvm_state() a wrapper.,
Yoshiaki Tamura <=
- [Qemu-devel] [PATCH 16/18] migration: introduce migrate_ft_trans_{put, get}_ready(), and modify migrate_fd_put_ready() when ft_mode is on., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 18/18] Introduce "kemari:" to enable FT migration mode (Kemari)., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 02/18] Introduce read() to FdMigrationState., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 01/18] Make QEMUFile buf expandable, and introduce qemu_realloc_buffer() and qemu_clear_buffer()., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 09/18] Introduce event-tap., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 07/18] Introduce fault tolerant VM transaction QEMUFile and ft_mode., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 08/18] savevm: introduce util functions to control ft_trans_file from savevm layer., Yoshiaki Tamura, 2011/03/23
- [Qemu-devel] [PATCH 15/18] savevm: introduce qemu_savevm_trans_{begin, commit}., Yoshiaki Tamura, 2011/03/23