block/vhdx: Use IEC binary prefixes for size constants

Using IEC binary prefixes in order to make the code more readable,
with the exception of DEFAULT_LOG_SIZE because it's passed to
stringify().

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: John Snow <jsnow@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Stefano Garzarella 2019-03-27 10:56:34 +01:00 committed by Kevin Wolf
parent e9991e29ea
commit 0cb98af218
3 changed files with 9 additions and 7 deletions

View File

@ -551,7 +551,7 @@ static int vhdx_log_flush(BlockDriverState *bs, BDRVVHDXState *s,
} }
if (file_length < desc_entries->hdr.last_file_offset) { if (file_length < desc_entries->hdr.last_file_offset) {
new_file_size = desc_entries->hdr.last_file_offset; new_file_size = desc_entries->hdr.last_file_offset;
if (new_file_size % (1024*1024)) { if (new_file_size % (1 * MiB)) {
/* round up to nearest 1MB boundary */ /* round up to nearest 1MB boundary */
new_file_size = QEMU_ALIGN_UP(new_file_size, MiB); new_file_size = QEMU_ALIGN_UP(new_file_size, MiB);
if (new_file_size > INT64_MAX) { if (new_file_size > INT64_MAX) {

View File

@ -1175,7 +1175,7 @@ static int vhdx_allocate_block(BlockDriverState *bs, BDRVVHDXState *s,
*new_offset = current_len; *new_offset = current_len;
/* per the spec, the address for a block is in units of 1MB */ /* per the spec, the address for a block is in units of 1MB */
*new_offset = ROUND_UP(*new_offset, 1024 * 1024); *new_offset = ROUND_UP(*new_offset, 1 * MiB);
if (*new_offset > INT64_MAX) { if (*new_offset > INT64_MAX) {
return -EINVAL; return -EINVAL;
} }
@ -1338,7 +1338,7 @@ static coroutine_fn int vhdx_co_writev(BlockDriverState *bs, int64_t sector_num,
case PAYLOAD_BLOCK_FULLY_PRESENT: case PAYLOAD_BLOCK_FULLY_PRESENT:
/* if the file offset address is in the header zone, /* if the file offset address is in the header zone,
* there is a problem */ * there is a problem */
if (sinfo.file_offset < (1024 * 1024)) { if (sinfo.file_offset < (1 * MiB)) {
ret = -EFAULT; ret = -EFAULT;
goto error_bat_restore; goto error_bat_restore;
} }

View File

@ -20,6 +20,8 @@
#include "qemu/units.h" #include "qemu/units.h"
#define DEFAULT_LOG_SIZE 1048576 /* 1MiB */ #define DEFAULT_LOG_SIZE 1048576 /* 1MiB */
/* Note: can't use 1 * MiB, because it's passed to stringify() */
/* Structures and fields present in the VHDX file */ /* Structures and fields present in the VHDX file */
/* The header section has the following blocks, /* The header section has the following blocks,
@ -32,7 +34,7 @@
* 0.........64KB...........128KB........192KB..........256KB................1MB * 0.........64KB...........128KB........192KB..........256KB................1MB
*/ */
#define VHDX_HEADER_BLOCK_SIZE (64 * 1024) #define VHDX_HEADER_BLOCK_SIZE (64 * KiB)
#define VHDX_FILE_ID_OFFSET 0 #define VHDX_FILE_ID_OFFSET 0
#define VHDX_HEADER1_OFFSET (VHDX_HEADER_BLOCK_SIZE * 1) #define VHDX_HEADER1_OFFSET (VHDX_HEADER_BLOCK_SIZE * 1)
@ -81,7 +83,7 @@ typedef struct QEMU_PACKED MSGUID {
#define guid_eq(a, b) \ #define guid_eq(a, b) \
(memcmp(&(a), &(b), sizeof(MSGUID)) == 0) (memcmp(&(a), &(b), sizeof(MSGUID)) == 0)
#define VHDX_HEADER_SIZE (4 * 1024) /* although the vhdx_header struct in disk #define VHDX_HEADER_SIZE (4 * KiB) /* although the vhdx_header struct in disk
is only 582 bytes, for purposes of crc is only 582 bytes, for purposes of crc
the header is the first 4KB of the 64KB the header is the first 4KB of the 64KB
block */ block */
@ -157,8 +159,8 @@ typedef struct QEMU_PACKED VHDXRegionTableEntry {
/* ---- LOG ENTRY STRUCTURES ---- */ /* ---- LOG ENTRY STRUCTURES ---- */
#define VHDX_LOG_MIN_SIZE (1024 * 1024) #define VHDX_LOG_MIN_SIZE (1 * MiB)
#define VHDX_LOG_SECTOR_SIZE 4096 #define VHDX_LOG_SECTOR_SIZE (4 * KiB)
#define VHDX_LOG_HDR_SIZE 64 #define VHDX_LOG_HDR_SIZE 64
#define VHDX_LOG_SIGNATURE 0x65676f6c #define VHDX_LOG_SIGNATURE 0x65676f6c
typedef struct QEMU_PACKED VHDXLogEntryHeader { typedef struct QEMU_PACKED VHDXLogEntryHeader {