qemu/include/migration/colo.h
<<
>>
Prefs
   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 "qapi/qapi-types-migration.h"
  17
  18enum colo_event {
  19    COLO_EVENT_NONE,
  20    COLO_EVENT_CHECKPOINT,
  21    COLO_EVENT_FAILOVER,
  22};
  23
  24void migrate_start_colo_process(MigrationState *s);
  25bool migration_in_colo_state(void);
  26
  27/* loadvm */
  28int migration_incoming_enable_colo(void);
  29void migration_incoming_disable_colo(void);
  30bool migration_incoming_colo_enabled(void);
  31void *colo_process_incoming_thread(void *opaque);
  32bool migration_incoming_in_colo_state(void);
  33
  34COLOMode get_colo_mode(void);
  35
  36/* failover */
  37void colo_do_failover(void);
  38
  39void colo_checkpoint_notify(void *opaque);
  40void colo_shutdown(void);
  41#endif
  42