]> git.proxmox.com Git - mirror_qemu.git/blame - include/migration/colo.h
qemu-img: assert block_job_get() does not return NULL in img_commit()
[mirror_qemu.git] / include / migration / colo.h
CommitLineData
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
19enum colo_event {
20 COLO_EVENT_NONE,
21 COLO_EVENT_CHECKPOINT,
22 COLO_EVENT_FAILOVER,
23};
24
5821ebf9 25void colo_info_init(void);
35a6ed4f 26
0b827d5e
HZ
27void migrate_start_colo_process(MigrationState *s);
28bool migration_in_colo_state(void);
29
25d0c16f 30/* loadvm */
aad555c2
ZC
31void migration_incoming_enable_colo(void);
32void migration_incoming_disable_colo(void);
33bool migration_incoming_colo_enabled(void);
25d0c16f
HZ
34void *colo_process_incoming_thread(void *opaque);
35bool migration_incoming_in_colo_state(void);
d89e666e
HZ
36
37COLOMode get_colo_mode(void);
b3f7f0c5
HZ
38
39/* failover */
40void colo_do_failover(MigrationState *s);
479125d5
HZ
41
42void colo_checkpoint_notify(void *opaque);
35a6ed4f 43#endif