]>
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 | ||
9af23989 | 16 | #include "qapi/qapi-types-migration.h" |
35a6ed4f | 17 | |
0ffcece3 ZC |
18 | enum colo_event { |
19 | COLO_EVENT_NONE, | |
20 | COLO_EVENT_CHECKPOINT, | |
21 | COLO_EVENT_FAILOVER, | |
22 | }; | |
23 | ||
0b827d5e HZ |
24 | void migrate_start_colo_process(MigrationState *s); |
25 | bool migration_in_colo_state(void); | |
26 | ||
25d0c16f | 27 | /* loadvm */ |
18b1d3c9 | 28 | int migration_incoming_enable_colo(void); |
aad555c2 ZC |
29 | void migration_incoming_disable_colo(void); |
30 | bool migration_incoming_colo_enabled(void); | |
25d0c16f HZ |
31 | void *colo_process_incoming_thread(void *opaque); |
32 | bool migration_incoming_in_colo_state(void); | |
d89e666e HZ |
33 | |
34 | COLOMode get_colo_mode(void); | |
b3f7f0c5 HZ |
35 | |
36 | /* failover */ | |
c0913d1d | 37 | void colo_do_failover(void); |
479125d5 | 38 | |
4332ffcd VSO |
39 | /* |
40 | * colo_checkpoint_delay_set | |
41 | * | |
42 | * Handles change of x-checkpoint-delay migration parameter, called from | |
43 | * migrate_params_apply() to notify COLO module about the change. | |
44 | */ | |
45 | void colo_checkpoint_delay_set(void); | |
46 | ||
795969ab | 47 | void colo_shutdown(void); |
35a6ed4f | 48 | #endif |