qemu/include/block/block_backup.h
<<
>>
Prefs
   1/*
   2 * QEMU backup
   3 *
   4 * Copyright (c) 2013 Proxmox Server Solutions
   5 * Copyright (c) 2016 HUAWEI TECHNOLOGIES CO., LTD.
   6 * Copyright (c) 2016 Intel Corporation
   7 * Copyright (c) 2016 FUJITSU LIMITED
   8 *
   9 * Authors:
  10 *  Dietmar Maurer <dietmar@proxmox.com>
  11 *  Changlong Xie <xiecl.fnst@cn.fujitsu.com>
  12 *
  13 * This work is licensed under the terms of the GNU GPL, version 2 or later.
  14 * See the COPYING file in the top-level directory.
  15 *
  16 */
  17
  18#ifndef BLOCK_BACKUP_H
  19#define BLOCK_BACKUP_H
  20
  21#include "block/block_int.h"
  22
  23typedef struct CowRequest {
  24    int64_t start_byte;
  25    int64_t end_byte;
  26    QLIST_ENTRY(CowRequest) list;
  27    CoQueue wait_queue; /* coroutines blocked on this request */
  28} CowRequest;
  29
  30void backup_wait_for_overlapping_requests(BlockJob *job, int64_t offset,
  31                                          uint64_t bytes);
  32void backup_cow_request_begin(CowRequest *req, BlockJob *job,
  33                              int64_t offset, uint64_t bytes);
  34void backup_cow_request_end(CowRequest *req);
  35
  36void backup_do_checkpoint(BlockJob *job, Error **errp);
  37
  38#endif
  39