]>
Commit | Line | Data |
---|---|---|
49d3e828 WC |
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 <[email protected]> | |
11 | * Changlong Xie <[email protected]> | |
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 | ||
a8bbee0e | 23 | typedef struct CowRequest { |
f6ac2078 EB |
24 | int64_t start_byte; |
25 | int64_t end_byte; | |
a8bbee0e CX |
26 | QLIST_ENTRY(CowRequest) list; |
27 | CoQueue wait_queue; /* coroutines blocked on this request */ | |
28 | } CowRequest; | |
29 | ||
f6ac2078 EB |
30 | void backup_wait_for_overlapping_requests(BlockJob *job, int64_t offset, |
31 | uint64_t bytes); | |
a8bbee0e | 32 | void backup_cow_request_begin(CowRequest *req, BlockJob *job, |
f6ac2078 | 33 | int64_t offset, uint64_t bytes); |
a8bbee0e CX |
34 | void backup_cow_request_end(CowRequest *req); |
35 | ||
49d3e828 WC |
36 | void backup_do_checkpoint(BlockJob *job, Error **errp); |
37 | ||
38 | #endif |