qemu/include/migration/blocker.h
<<
>>
Prefs
   1/*
   2 * QEMU migration blockers
   3 *
   4 * Copyright IBM, Corp. 2008
   5 *
   6 * Authors:
   7 *  Anthony Liguori   <aliguori@us.ibm.com>
   8 *
   9 * This work is licensed under the terms of the GNU GPL, version 2.  See
  10 * the COPYING file in the top-level directory.
  11 *
  12 */
  13
  14#ifndef MIGRATION_BLOCKER_H
  15#define MIGRATION_BLOCKER_H
  16
  17/**
  18 * @migrate_add_blocker - prevent migration from proceeding
  19 *
  20 * @reason - an error to be returned whenever migration is attempted
  21 *
  22 * @errp - [out] The reason (if any) we cannot block migration right now.
  23 *
  24 * @returns - 0 on success, -EBUSY/-EACCES on failure, with errp set.
  25 */
  26int migrate_add_blocker(Error *reason, Error **errp);
  27
  28/**
  29 * @migrate_add_blocker_internal - prevent migration from proceeding without
  30 *                                 only-migrate implications
  31 *
  32 * @reason - an error to be returned whenever migration is attempted
  33 *
  34 * @errp - [out] The reason (if any) we cannot block migration right now.
  35 *
  36 * @returns - 0 on success, -EBUSY on failure, with errp set.
  37 *
  38 * Some of the migration blockers can be temporary (e.g., for a few seconds),
  39 * so it shouldn't need to conflict with "-only-migratable".  For those cases,
  40 * we can call this function rather than @migrate_add_blocker().
  41 */
  42int migrate_add_blocker_internal(Error *reason, Error **errp);
  43
  44/**
  45 * @migrate_del_blocker - remove a blocking error from migration
  46 *
  47 * @reason - the error blocking migration
  48 */
  49void migrate_del_blocker(Error *reason);
  50
  51#endif
  52