]>
Commit | Line | Data |
---|---|---|
35a6ed4f HZ |
1 | /* |
2 | * COarse-grain LOck-stepping Virtual Machines for Non-stop Service (COLO) | |
3 | * (a.k.a. Fault Tolerance or Continuous Replication) | |
4 | * | |
5 | * Copyright (c) 2016 HUAWEI TECHNOLOGIES CO., LTD. | |
6 | * Copyright (c) 2016 FUJITSU LIMITED | |
7 | * Copyright (c) 2016 Intel Corporation | |
8 | * | |
9 | * This work is licensed under the terms of the GNU GPL, version 2 or | |
10 | * later. See the COPYING file in the top-level directory. | |
11 | */ | |
12 | ||
13 | #ifndef QEMU_COLO_H | |
14 | #define QEMU_COLO_H | |
15 | ||
16 | #include "qemu-common.h" | |
9af23989 | 17 | #include "qapi/qapi-types-migration.h" |
35a6ed4f | 18 | |
0ffcece3 ZC |
19 | enum colo_event { |
20 | COLO_EVENT_NONE, | |
21 | COLO_EVENT_CHECKPOINT, | |
22 | COLO_EVENT_FAILOVER, | |
23 | }; | |
24 | ||
5821ebf9 | 25 | void colo_info_init(void); |
35a6ed4f | 26 | |
0b827d5e HZ |
27 | void migrate_start_colo_process(MigrationState *s); |
28 | bool migration_in_colo_state(void); | |
29 | ||
25d0c16f | 30 | /* loadvm */ |
aad555c2 ZC |
31 | void migration_incoming_enable_colo(void); |
32 | void migration_incoming_disable_colo(void); | |
33 | bool migration_incoming_colo_enabled(void); | |
25d0c16f HZ |
34 | void *colo_process_incoming_thread(void *opaque); |
35 | bool migration_incoming_in_colo_state(void); | |
d89e666e HZ |
36 | |
37 | COLOMode get_colo_mode(void); | |
b3f7f0c5 HZ |
38 | |
39 | /* failover */ | |
40 | void colo_do_failover(MigrationState *s); | |
479125d5 HZ |
41 | |
42 | void colo_checkpoint_notify(void *opaque); | |
35a6ed4f | 43 | #endif |