diff options
Diffstat (limited to 'include/block')
-rw-r--r-- | include/block/block-copy.h | 14 | ||||
-rw-r--r-- | include/block/block_int.h | 1 |
2 files changed, 10 insertions, 5 deletions
diff --git a/include/block/block-copy.h b/include/block/block-copy.h index 340d856246..e2e135ff1b 100644 --- a/include/block/block-copy.h +++ b/include/block/block-copy.h @@ -27,8 +27,13 @@ typedef struct BlockCopyInFlightReq { typedef void (*ProgressBytesCallbackFunc)(int64_t bytes, void *opaque); typedef void (*ProgressResetCallbackFunc)(void *opaque); typedef struct BlockCopyState { - BlockBackend *source; - BlockBackend *target; + /* + * BdrvChild objects are not owned or managed by block-copy. They are + * provided by block-copy user and user is responsible for appropriate + * permissions on these children. + */ + BdrvChild *source; + BdrvChild *target; BdrvDirtyBitmap *copy_bitmap; int64_t cluster_size; bool use_copy_range; @@ -66,8 +71,7 @@ typedef struct BlockCopyState { void *progress_opaque; } BlockCopyState; -BlockCopyState *block_copy_state_new(BlockDriverState *source, - BlockDriverState *target, +BlockCopyState *block_copy_state_new(BdrvChild *source, BdrvChild *target, int64_t cluster_size, BdrvRequestFlags write_flags, Error **errp); @@ -84,6 +88,6 @@ int64_t block_copy_reset_unallocated(BlockCopyState *s, int64_t offset, int64_t *count); int coroutine_fn block_copy(BlockCopyState *s, int64_t start, uint64_t bytes, - bool *error_is_read, bool is_write_notifier); + bool *error_is_read); #endif /* BLOCK_COPY_H */ diff --git a/include/block/block_int.h b/include/block/block_int.h index 2b113eb3c7..05056b308a 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -1197,6 +1197,7 @@ BlockJob *backup_job_create(const char *job_id, BlockDriverState *bs, BdrvDirtyBitmap *sync_bitmap, BitmapSyncMode bitmap_mode, bool compress, + const char *filter_node_name, BlockdevOnError on_source_error, BlockdevOnError on_target_error, int creation_flags, |