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
10 * Dietmar Maurer <dietmar@proxmox.com>
11 * Changlong Xie <xiecl.fnst@cn.fujitsu.com>
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.
18 #ifndef BLOCK_BACKUP_H
19 #define BLOCK_BACKUP_H
21 #include "block/block_int.h"
23 typedef struct CowRequest
{
26 QLIST_ENTRY(CowRequest
) list
;
27 CoQueue wait_queue
; /* coroutines blocked on this request */
30 void backup_wait_for_overlapping_requests(BlockJob
*job
, int64_t offset
,
32 void backup_cow_request_begin(CowRequest
*req
, BlockJob
*job
,
33 int64_t offset
, uint64_t bytes
);
34 void backup_cow_request_end(CowRequest
*req
);
36 void backup_do_checkpoint(BlockJob
*job
, Error
**errp
);