[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH COLO-Frame v14 28/40] migration/savevm: Export two h
From: |
zhanghailiang |
Subject: |
[Qemu-devel] [PATCH COLO-Frame v14 28/40] migration/savevm: Export two helper functions for savevm process |
Date: |
Sat, 6 Feb 2016 17:28:40 +0800 |
We add a new helper functions qemu_savevm_live_state(),
and make qemu_save_device_state() public.
Signed-off-by: zhanghailiang <address@hidden>
Signed-off-by: Li Zhijian <address@hidden>
---
v14:
- New patch split from previous
'COLO: Separate the process of saving/loading ram and device state'
---
include/sysemu/sysemu.h | 3 +++
migration/savevm.c | 15 +++++++++++----
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index c0694a1..7b1748c 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -133,6 +133,9 @@ void qemu_savevm_send_postcopy_ram_discard(QEMUFile *f,
const char *name,
uint64_t *start_list,
uint64_t *length_list);
+void qemu_savevm_live_state(QEMUFile *f);
+int qemu_save_device_state(QEMUFile *f);
+
int qemu_loadvm_state(QEMUFile *f);
int qemu_loadvm_state_begin(QEMUFile *f);
int qemu_loadvm_state_main(QEMUFile *f, MigrationIncomingState *mis);
diff --git a/migration/savevm.c b/migration/savevm.c
index c32b2fe..0c3b960 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -1192,13 +1192,20 @@ static int qemu_savevm_state(QEMUFile *f, Error **errp)
return ret;
}
-static int qemu_save_device_state(QEMUFile *f)
+void qemu_savevm_live_state(QEMUFile *f)
{
- SaveStateEntry *se;
+ /* save QEMU_VM_SECTION_END section */
+ qemu_savevm_state_complete_precopy(f, true);
+ qemu_put_byte(f, QEMU_VM_EOF);
+}
- qemu_put_be32(f, QEMU_VM_FILE_MAGIC);
- qemu_put_be32(f, QEMU_VM_FILE_VERSION);
+int qemu_save_device_state(QEMUFile *f)
+{
+ SaveStateEntry *se;
+ if (!migration_in_colo_state()) {
+ qemu_savevm_state_header(f);
+ }
cpu_synchronize_all_states();
QTAILQ_FOREACH(se, &savevm_state.handlers, entry) {
--
1.8.3.1
- [Qemu-devel] [PATCH COLO-Frame v14 16/40] COLO: synchronize PVM's state to SVM periodically, (continued)
- [Qemu-devel] [PATCH COLO-Frame v14 16/40] COLO: synchronize PVM's state to SVM periodically, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 13/40] COLO: Load VMState into qsb before restore it, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 11/40] COLO: Load PVM's dirty pages into SVM's RAM cache temporarily, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 17/40] COLO failover: Introduce a new command to trigger a failover, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 19/40] COLO: Implement failover work for Primary VM, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 25/40] COLO: Update the global runstate after going into colo state, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 33/40] filter-buffer: Accept zero interval, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 24/40] COLO: Process shutdown command for VM in COLO state, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 28/40] migration/savevm: Export two helper functions for savevm process,
zhanghailiang <=
- [Qemu-devel] [PATCH COLO-Frame v14 29/40] COLO: Separate the process of saving/loading ram and device state, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 27/40] migration/savevm: Add new helpers to process the different stages of loadvm, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 22/40] COLO failover: Shutdown related socket fd when do failover, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 26/40] savevm: Introduce two helper functions for save/find loadvm_handlers entry, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 21/40] qmp event: Add COLO_EXIT event to notify users while exited from COLO, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 23/40] COLO failover: Don't do failover during loading VM's state, zhanghailiang, 2016/02/06
- [Qemu-devel] [PATCH COLO-Frame v14 37/40] COLO: enable buffer filters for PVM, zhanghailiang, 2016/02/06