block/vpc: Pass footer buffers as VHDFooter * instead of uint8_t *

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201217162003.1102738-9-armbru@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Markus Armbruster 2020-12-17 17:20:02 +01:00 committed by Kevin Wolf
parent 275734e479
commit a3d2761719
1 changed files with 7 additions and 7 deletions

View File

@ -819,7 +819,7 @@ static int calculate_geometry(int64_t total_sectors, uint16_t *cyls,
return 0; return 0;
} }
static int create_dynamic_disk(BlockBackend *blk, uint8_t *buf, static int create_dynamic_disk(BlockBackend *blk, VHDFooter *footer,
int64_t total_sectors) int64_t total_sectors)
{ {
VHDDynDiskHeader dyndisk_header; VHDDynDiskHeader dyndisk_header;
@ -833,13 +833,13 @@ static int create_dynamic_disk(BlockBackend *blk, uint8_t *buf,
block_size = 0x200000; block_size = 0x200000;
num_bat_entries = DIV_ROUND_UP(total_sectors, block_size / 512); num_bat_entries = DIV_ROUND_UP(total_sectors, block_size / 512);
ret = blk_pwrite(blk, offset, buf, HEADER_SIZE, 0); ret = blk_pwrite(blk, offset, footer, HEADER_SIZE, 0);
if (ret < 0) { if (ret < 0) {
goto fail; goto fail;
} }
offset = 1536 + ((num_bat_entries * 4 + 511) & ~511); offset = 1536 + ((num_bat_entries * 4 + 511) & ~511);
ret = blk_pwrite(blk, offset, buf, HEADER_SIZE, 0); ret = blk_pwrite(blk, offset, footer, HEADER_SIZE, 0);
if (ret < 0) { if (ret < 0) {
goto fail; goto fail;
} }
@ -887,7 +887,7 @@ static int create_dynamic_disk(BlockBackend *blk, uint8_t *buf,
return ret; return ret;
} }
static int create_fixed_disk(BlockBackend *blk, uint8_t *buf, static int create_fixed_disk(BlockBackend *blk, VHDFooter *footer,
int64_t total_size, Error **errp) int64_t total_size, Error **errp)
{ {
int ret; int ret;
@ -900,7 +900,7 @@ static int create_fixed_disk(BlockBackend *blk, uint8_t *buf,
return ret; return ret;
} }
ret = blk_pwrite(blk, total_size - HEADER_SIZE, buf, HEADER_SIZE, 0); ret = blk_pwrite(blk, total_size - HEADER_SIZE, footer, HEADER_SIZE, 0);
if (ret < 0) { if (ret < 0) {
error_setg_errno(errp, -ret, "Unable to write VHD header"); error_setg_errno(errp, -ret, "Unable to write VHD header");
return ret; return ret;
@ -1071,12 +1071,12 @@ static int coroutine_fn vpc_co_create(BlockdevCreateOptions *opts,
footer.checksum = cpu_to_be32(vpc_checksum(&footer, HEADER_SIZE)); footer.checksum = cpu_to_be32(vpc_checksum(&footer, HEADER_SIZE));
if (disk_type == VHD_DYNAMIC) { if (disk_type == VHD_DYNAMIC) {
ret = create_dynamic_disk(blk, (uint8_t *)&footer, total_sectors); ret = create_dynamic_disk(blk, &footer, total_sectors);
if (ret < 0) { if (ret < 0) {
error_setg(errp, "Unable to create or write VHD header"); error_setg(errp, "Unable to create or write VHD header");
} }
} else { } else {
ret = create_fixed_disk(blk, (uint8_t *)&footer, total_size, errp); ret = create_fixed_disk(blk, &footer, total_size, errp);
} }
out: out: