@@ -3061,3 +3061,13 @@ int bdrv_map(BlockDriverState *bs, uint64_t *guest_offset,
return drv->bdrv_map(bs, guest_offset, host_offset,
contiguous_bytes);
}
+
+int bdrv_copy_header(BlockDriverState *bs)
+{
+ BlockDriver *drv = bs->drv;
+ if (!drv)
+ return -ENOMEDIUM;
+ if (!drv->bdrv_copy_header)
+ return -ENOTSUP;
+ return drv->bdrv_copy_header(bs);
+}
@@ -256,6 +256,8 @@ int bdrv_get_mapping(BlockDriverState *bs, uint64_t *guest_offset,
uint64_t *host_offset, uint64_t *contiguous_bytes);
int bdrv_map(BlockDriverState *bs, uint64_t *guest_offset,
uint64_t *host_offset, uint64_t *contiguous_bytes);
+int bdrv_copy_header(BlockDriverState *bs);
+
typedef enum {
BLKDBG_L1_UPDATE,
Signed-off-by: Devin Nakamura <devin122@gmail.com> --- block.c | 10 ++++++++++ block.h | 2 ++ 2 files changed, 12 insertions(+), 0 deletions(-)