[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 13/59] block/vdi.c: remove 'fail' label in vdi_open()
From: |
Daniel Henrique Barboza |
Subject: |
[PATCH v1 13/59] block/vdi.c: remove 'fail' label in vdi_open() |
Date: |
Mon, 6 Jan 2020 15:23:39 -0300 |
The 'fail' label can be replaced by 'return ret' or by
a 'return' with the error code that was being set right
before the 'goto' call.
CC: Stefan Weil <address@hidden>
CC: address@hidden
Signed-off-by: Daniel Henrique Barboza <address@hidden>
---
block/vdi.c | 40 +++++++++++++---------------------------
1 file changed, 13 insertions(+), 27 deletions(-)
diff --git a/block/vdi.c b/block/vdi.c
index 0142da7233..6d486ffed9 100644
--- a/block/vdi.c
+++ b/block/vdi.c
@@ -388,7 +388,7 @@ static int vdi_open(BlockDriverState *bs, QDict *options,
int flags,
ret = bdrv_pread(bs->file, 0, &header, sizeof(header));
if (ret < 0) {
- goto fail;
+ return ret;
}
vdi_header_to_cpu(&header);
@@ -400,8 +400,7 @@ static int vdi_open(BlockDriverState *bs, QDict *options,
int flags,
error_setg(errp, "Unsupported VDI image size (size is 0x%" PRIx64
", max supported is 0x%" PRIx64 ")",
header.disk_size, VDI_DISK_SIZE_MAX);
- ret = -ENOTSUP;
- goto fail;
+ return -ENOTSUP;
}
uuid_link = header.uuid_link;
@@ -418,58 +417,48 @@ static int vdi_open(BlockDriverState *bs, QDict *options,
int flags,
if (header.signature != VDI_SIGNATURE) {
error_setg(errp, "Image not in VDI format (bad signature %08" PRIx32
")", header.signature);
- ret = -EINVAL;
- goto fail;
+ return -EINVAL;
} else if (header.version != VDI_VERSION_1_1) {
error_setg(errp, "unsupported VDI image (version %" PRIu32 ".%" PRIu32
")", header.version >> 16, header.version & 0xffff);
- ret = -ENOTSUP;
- goto fail;
+ return -ENOTSUP;
} else if (header.offset_bmap % SECTOR_SIZE != 0) {
/* We only support block maps which start on a sector boundary. */
error_setg(errp, "unsupported VDI image (unaligned block map offset "
"0x%" PRIx32 ")", header.offset_bmap);
- ret = -ENOTSUP;
- goto fail;
+ return -ENOTSUP;
} else if (header.offset_data % SECTOR_SIZE != 0) {
/* We only support data blocks which start on a sector boundary. */
error_setg(errp, "unsupported VDI image (unaligned data offset 0x%"
PRIx32 ")", header.offset_data);
- ret = -ENOTSUP;
- goto fail;
+ return -ENOTSUP;
} else if (header.sector_size != SECTOR_SIZE) {
error_setg(errp, "unsupported VDI image (sector size %" PRIu32
" is not %u)", header.sector_size, SECTOR_SIZE);
- ret = -ENOTSUP;
- goto fail;
+ return -ENOTSUP;
} else if (header.block_size != DEFAULT_CLUSTER_SIZE) {
error_setg(errp, "unsupported VDI image (block size %" PRIu32
" is not %" PRIu32 ")",
header.block_size, DEFAULT_CLUSTER_SIZE);
- ret = -ENOTSUP;
- goto fail;
+ return -ENOTSUP;
} else if (header.disk_size >
(uint64_t)header.blocks_in_image * header.block_size) {
error_setg(errp, "unsupported VDI image (disk size %" PRIu64 ", "
"image bitmap has room for %" PRIu64 ")",
header.disk_size,
(uint64_t)header.blocks_in_image * header.block_size);
- ret = -ENOTSUP;
- goto fail;
+ return -ENOTSUP;
} else if (!qemu_uuid_is_null(&uuid_link)) {
error_setg(errp, "unsupported VDI image (non-NULL link UUID)");
- ret = -ENOTSUP;
- goto fail;
+ return -ENOTSUP;
} else if (!qemu_uuid_is_null(&uuid_parent)) {
error_setg(errp, "unsupported VDI image (non-NULL parent UUID)");
- ret = -ENOTSUP;
- goto fail;
+ return -ENOTSUP;
} else if (header.blocks_in_image > VDI_BLOCKS_IN_IMAGE_MAX) {
error_setg(errp, "unsupported VDI image "
"(too many blocks %u, max is %u)",
header.blocks_in_image, VDI_BLOCKS_IN_IMAGE_MAX);
- ret = -ENOTSUP;
- goto fail;
+ return -ENOTSUP;
}
bs->total_sectors = header.disk_size / SECTOR_SIZE;
@@ -482,8 +471,7 @@ static int vdi_open(BlockDriverState *bs, QDict *options,
int flags,
bmap_size = DIV_ROUND_UP(bmap_size, SECTOR_SIZE);
s->bmap = qemu_try_blockalign(bs->file->bs, bmap_size * SECTOR_SIZE);
if (s->bmap == NULL) {
- ret = -ENOMEM;
- goto fail;
+ return -ENOMEM;
}
ret = bdrv_pread(bs->file, header.offset_bmap, s->bmap,
@@ -509,8 +497,6 @@ static int vdi_open(BlockDriverState *bs, QDict *options,
int flags,
fail_free_bmap:
qemu_vfree(s->bmap);
-
- fail:
return ret;
}
--
2.24.1
- [PATCH v1 10/59] chardev/char-win.c: remove 'fail' label in win_chr_serial_init(), (continued)
[PATCH v1 13/59] block/vdi.c: remove 'fail' label in vdi_open(),
Daniel Henrique Barboza <=
[PATCH v1 15/59] block/blkreplay.c: remove unneeded 'fail' label in blkreplay_open(), Daniel Henrique Barboza, 2020/01/06
[PATCH v1 20/59] block/vpc.c: remove unneeded 'fail' label in create_dynamic_disk(), Daniel Henrique Barboza, 2020/01/06
[PATCH v1 24/59] block/vhdx-log.c: remove unneeded labels, Daniel Henrique Barboza, 2020/01/06
[PATCH v1 26/59] block/replication.c: remove unneeded label in replication_co_writev, Daniel Henrique Barboza, 2020/01/06
[PATCH v1 27/59] crypto/block-luks.c: remove unneeded label in qcrypto_block_luks_find_key, Daniel Henrique Barboza, 2020/01/06
[PATCH v1 38/59] s390x/sclp.c: remove unneeded label in sclp_service_call(), Daniel Henrique Barboza, 2020/01/06