qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Henrique Barboza <danielhb413@gmail.com>
To: qemu-devel@nongnu.org
Cc: qemu-trivial@nongnu.org, Jeff Cody <codyprime@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	qemu-block@nongnu.org
Subject: [PATCH v1 24/59] block/vhdx-log.c: remove unneeded labels
Date: Mon,  6 Jan 2020 15:23:50 -0300	[thread overview]
Message-ID: <20200106182425.20312-25-danielhb413@gmail.com> (raw)
In-Reply-To: <20200106182425.20312-1-danielhb413@gmail.com>

Removing some 'exit' labels used in some functions that are
unneeded, changing them for the adequate 'return' value
for the context.

CC: Jeff Cody <codyprime@gmail.com>
CC: qemu-block@nongnu.org
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
 block/vhdx-log.c | 86 ++++++++++++++++++------------------------------
 1 file changed, 32 insertions(+), 54 deletions(-)

diff --git a/block/vhdx-log.c b/block/vhdx-log.c
index 13a49c2a33..ba89f0adc6 100644
--- a/block/vhdx-log.c
+++ b/block/vhdx-log.c
@@ -64,8 +64,7 @@ static int vhdx_log_peek_hdr(BlockDriverState *bs, VHDXLogEntries *log,
 
     /* peek is only supported on sector boundaries */
     if (log->read % VHDX_LOG_SECTOR_SIZE) {
-        ret = -EFAULT;
-        goto exit;
+        return -EFAULT;
     }
 
     read = log->read;
@@ -77,19 +76,17 @@ static int vhdx_log_peek_hdr(BlockDriverState *bs, VHDXLogEntries *log,
     }
 
     if (read == log->write) {
-        ret = -EINVAL;
-        goto exit;
+        return -EINVAL;
     }
 
     offset = log->offset + read;
 
     ret = bdrv_pread(bs->file, offset, hdr, sizeof(VHDXLogEntryHeader));
     if (ret < 0) {
-        goto exit;
+        return ret;
     }
     vhdx_log_entry_hdr_le_import(hdr);
 
-exit:
     return ret;
 }
 
@@ -179,7 +176,7 @@ static int vhdx_log_write_sectors(BlockDriverState *bs, VHDXLogEntries *log,
 
     ret = vhdx_user_visible_write(bs, s);
     if (ret < 0) {
-        goto exit;
+        return ret;
     }
 
     write = log->write;
@@ -196,7 +193,7 @@ static int vhdx_log_write_sectors(BlockDriverState *bs, VHDXLogEntries *log,
         ret = bdrv_pwrite(bs->file, offset, buffer_tmp,
                           VHDX_LOG_SECTOR_SIZE);
         if (ret < 0) {
-            goto exit;
+            return ret;
         }
         buffer_tmp += VHDX_LOG_SECTOR_SIZE;
 
@@ -205,7 +202,6 @@ static int vhdx_log_write_sectors(BlockDriverState *bs, VHDXLogEntries *log,
         num_sectors--;
     }
 
-exit:
     return ret;
 }
 
@@ -214,42 +210,37 @@ exit:
 static bool vhdx_log_hdr_is_valid(VHDXLogEntries *log, VHDXLogEntryHeader *hdr,
                                   BDRVVHDXState *s)
 {
-    int valid = false;
-
     if (hdr->signature != VHDX_LOG_SIGNATURE) {
-        goto exit;
+        return false;
     }
 
     /* if the individual entry length is larger than the whole log
      * buffer, that is obviously invalid */
     if (log->length < hdr->entry_length) {
-        goto exit;
+        return false;
     }
 
     /* length of entire entry must be in units of 4KB (log sector size) */
     if (hdr->entry_length % (VHDX_LOG_SECTOR_SIZE)) {
-        goto exit;
+        return false;
     }
 
     /* per spec, sequence # must be > 0 */
     if (hdr->sequence_number == 0) {
-        goto exit;
+        return false;
     }
 
     /* log entries are only valid if they match the file-wide log guid
      * found in the active header */
     if (!guid_eq(hdr->log_guid, s->headers[s->curr_header]->log_guid)) {
-        goto exit;
+        return false;
     }
 
     if (hdr->descriptor_count * sizeof(VHDXLogDescriptor) > hdr->entry_length) {
-        goto exit;
+        return false;
     }
 
-    valid = true;
-
-exit:
-    return valid;
+    return true;
 }
 
 /*
@@ -274,10 +265,10 @@ static bool vhdx_log_desc_is_valid(VHDXLogDescriptor *desc,
     bool ret = false;
 
     if (desc->sequence_number != hdr->sequence_number) {
-        goto exit;
+        return false;
     }
     if (desc->file_offset % VHDX_LOG_SECTOR_SIZE) {
-        goto exit;
+        return false;
     }
 
     if (desc->signature == VHDX_LOG_ZERO_SIGNATURE) {
@@ -290,7 +281,6 @@ static bool vhdx_log_desc_is_valid(VHDXLogDescriptor *desc,
             ret = true;
     }
 
-exit:
     return ret;
 }
 
@@ -347,20 +337,18 @@ static int vhdx_log_read_desc(BlockDriverState *bs, BDRVVHDXState *s,
 
     ret = vhdx_log_peek_hdr(bs, log, &hdr);
     if (ret < 0) {
-        goto exit;
+        return ret;
     }
 
     if (vhdx_log_hdr_is_valid(log, &hdr, s) == false) {
-        ret = -EINVAL;
-        goto exit;
+        return -EINVAL;
     }
 
     desc_sectors = vhdx_compute_desc_sectors(hdr.descriptor_count);
     desc_entries = qemu_try_blockalign(bs->file->bs,
                                        desc_sectors * VHDX_LOG_SECTOR_SIZE);
     if (desc_entries == NULL) {
-        ret = -ENOMEM;
-        goto exit;
+        return -ENOMEM;
     }
 
     ret = vhdx_log_read_sectors(bs, log, &sectors_read, desc_entries,
@@ -390,11 +378,10 @@ static int vhdx_log_read_desc(BlockDriverState *bs, BDRVVHDXState *s,
     }
 
     *buffer = desc_entries;
-    goto exit;
+    return ret;
 
 free_and_exit:
     qemu_vfree(desc_entries);
-exit:
     return ret;
 }
 
@@ -688,7 +675,7 @@ static int vhdx_log_search(BlockDriverState *bs, BDRVVHDXState *s,
         ret = vhdx_validate_log_entry(bs, s, &curr_log, curr_seq,
                                       &seq_valid, &hdr);
         if (ret < 0) {
-            goto exit;
+            return ret;
         }
 
         if (seq_valid) {
@@ -704,7 +691,7 @@ static int vhdx_log_search(BlockDriverState *bs, BDRVVHDXState *s,
                 ret = vhdx_validate_log_entry(bs, s, &curr_log, curr_seq,
                                               &seq_valid, &hdr);
                 if (ret < 0) {
-                    goto exit;
+                    return ret;
                 }
                 if (seq_valid == false) {
                     break;
@@ -735,8 +722,6 @@ static int vhdx_log_search(BlockDriverState *bs, BDRVVHDXState *s,
         s->log.sequence = candidate.hdr.sequence_number + 1;
     }
 
-
-exit:
     return ret;
 }
 
@@ -766,29 +751,26 @@ int vhdx_parse_log(BlockDriverState *bs, BDRVVHDXState *s, bool *flushed,
 
     if (s->log.offset < VHDX_LOG_MIN_SIZE ||
         s->log.offset % VHDX_LOG_MIN_SIZE) {
-        ret = -EINVAL;
-        goto exit;
+        return -EINVAL;
     }
 
     /* per spec, only log version of 0 is supported */
     if (hdr->log_version != 0) {
-        ret = -EINVAL;
-        goto exit;
+        return -EINVAL;
     }
 
     /* If either the log guid, or log length is zero,
      * then a replay log is not present */
     if (guid_eq(hdr->log_guid, zero_guid)) {
-        goto exit;
+        return 0;
     }
 
     if (hdr->log_length == 0) {
-        goto exit;
+        return 0;
     }
 
     if (hdr->log_length % VHDX_LOG_MIN_SIZE) {
-        ret = -EINVAL;
-        goto exit;
+        return -EINVAL;
     }
 
 
@@ -797,13 +779,12 @@ int vhdx_parse_log(BlockDriverState *bs, BDRVVHDXState *s, bool *flushed,
 
     ret = vhdx_log_search(bs, s, &logs);
     if (ret < 0) {
-        goto exit;
+        return ret;
     }
 
     if (logs.valid) {
         if (bs->read_only) {
             bdrv_refresh_filename(bs);
-            ret = -EPERM;
             error_setg(errp,
                        "VHDX image file '%s' opened read-only, but "
                        "contains a log that needs to be replayed",
@@ -811,18 +792,16 @@ int vhdx_parse_log(BlockDriverState *bs, BDRVVHDXState *s, bool *flushed,
             error_append_hint(errp,  "To replay the log, run:\n"
                               "qemu-img check -r all '%s'\n",
                               bs->filename);
-            goto exit;
+            return -EPERM;
         }
         /* now flush the log */
         ret = vhdx_log_flush(bs, s, &logs);
         if (ret < 0) {
-            goto exit;
+            return ret;
         }
         *flushed = true;
     }
 
-
-exit:
     return ret;
 }
 
@@ -1048,29 +1027,28 @@ int vhdx_log_write_and_flush(BlockDriverState *bs, BDRVVHDXState *s,
      * on disk, before creating log entry */
     ret = bdrv_flush(bs);
     if (ret < 0) {
-        goto exit;
+        return ret;
     }
 
     ret = vhdx_log_write(bs, s, data, length, offset);
     if (ret < 0) {
-        goto exit;
+        return ret;
     }
     logs.log = s->log;
 
     /* Make sure log is stable on disk */
     ret = bdrv_flush(bs);
     if (ret < 0) {
-        goto exit;
+        return ret;
     }
 
     ret = vhdx_log_flush(bs, s, &logs);
     if (ret < 0) {
-        goto exit;
+        return ret;
     }
 
     s->log = logs.log;
 
-exit:
     return ret;
 }
 
-- 
2.24.1



  parent reply	other threads:[~2020-01-06 18:37 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-06 18:23 [PATCH v1 00/59] trivial unneeded labels cleanup Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 01/59] spapr.c: remove 'out' label in spapr_dt_cas_updates() Daniel Henrique Barboza
2020-01-06 23:44   ` David Gibson
2020-01-06 18:23 ` [PATCH v1 02/59] ppc440_bamboo.c: remove label from bamboo_load_device_tree() Daniel Henrique Barboza
2020-01-06 23:45   ` David Gibson
2020-01-06 18:23 ` [PATCH v1 03/59] kvm-all.c: remove unneeded labels Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 04/59] paaudio.c: " Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 05/59] ram.c: " Daniel Henrique Barboza
2020-01-06 18:57   ` Dr. David Alan Gilbert
2020-01-06 23:38   ` Juan Quintela
2020-01-08 12:41   ` Juan Quintela
2020-01-06 18:23 ` [PATCH v1 06/59] mips-semi.c: remove 'uhi_done' label in helper_do_semihosting() Daniel Henrique Barboza
2020-01-09 20:41   ` Aleksandar Markovic
2020-01-24 17:22   ` Aleksandar Markovic
2020-01-06 18:23 ` [PATCH v1 07/59] unicore32/softmmu.c: remove 'do_fault' label in get_phys_addr_ucv2() Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 08/59] chardev/char-mux.c: remove 'send_char' label Daniel Henrique Barboza
2020-01-06 19:02   ` Marc-André Lureau
2020-01-06 18:23 ` [PATCH v1 09/59] chardev/char-pipe.c: remove 'fail' label in win_chr_pipe_init() Daniel Henrique Barboza
2020-01-06 19:01   ` Marc-André Lureau
2020-01-06 18:23 ` [PATCH v1 10/59] chardev/char-win.c: remove 'fail' label in win_chr_serial_init() Daniel Henrique Barboza
2020-01-06 19:01   ` Marc-André Lureau
2020-01-07  6:52   ` Philippe Mathieu-Daudé
2020-01-06 18:23 ` [PATCH v1 11/59] exec.c: remove 'err' label in ram_block_discard_range() Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 12/59] virtfs-proxy-helper.c: remove 'err_out' label in setugid() Daniel Henrique Barboza
2020-01-07  9:51   ` Greg Kurz
2020-01-13 15:15     ` Markus Armbruster
2020-01-13 16:32       ` Laurent Vivier
2020-01-13 19:56         ` Greg Kurz
2020-01-14  7:55         ` Markus Armbruster
2020-01-06 18:23 ` [PATCH v1 13/59] block/vdi.c: remove 'fail' label in vdi_open() Daniel Henrique Barboza
2020-01-06 21:04   ` Stefan Weil
2020-01-06 18:23 ` [PATCH v1 14/59] block/file-posix.c: remove unneeded labels Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 15/59] block/blkreplay.c: remove unneeded 'fail' label in blkreplay_open() Daniel Henrique Barboza
2020-01-10  6:07   ` Pavel Dovgalyuk
2020-01-06 18:23 ` [PATCH v1 16/59] block/gluster.c: remove unneeded 'exit' label Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 17/59] block/dmg.c: remove unneeded 'fail' label in dmg_read_mish_block() Daniel Henrique Barboza
2020-01-07 16:54   ` Stefan Hajnoczi
2020-01-06 18:23 ` [PATCH v1 18/59] qcow2-refcount.c: remove unneeded 'fail' label in qcow2_refcount_init() Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 19/59] block/ssh.c: remove unneeded labels Daniel Henrique Barboza
2020-01-06 18:37   ` Richard W.M. Jones
2020-01-06 18:23 ` [PATCH v1 20/59] block/vpc.c: remove unneeded 'fail' label in create_dynamic_disk() Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 21/59] block/backup.c remove unneeded 'out' label in backup_run() Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 22/59] block/vmdk.c: remove unneeded labels Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 23/59] block/vxhs.c: remove unneeded 'out' label in vxhs_iio_callback() Daniel Henrique Barboza
2020-01-06 18:23 ` Daniel Henrique Barboza [this message]
2020-01-06 18:23 ` [PATCH v1 25/59] block/vhdx.c: remove unneeded 'exit' labels Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 26/59] block/replication.c: remove unneeded label in replication_co_writev Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 27/59] crypto/block-luks.c: remove unneeded label in qcrypto_block_luks_find_key Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 28/59] qga/commands-win32.c: remove 'out' label in get_pci_info Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 29/59] cryptodev-vhost.c: remove unneeded 'err' label in cryptodev_vhost_start Daniel Henrique Barboza
2020-01-07  6:53   ` Philippe Mathieu-Daudé
2020-01-07  8:18   ` Gonglei (Arei)
2020-01-06 18:23 ` [PATCH v1 30/59] util/module.c: remove unneeded label in module_load_file() Daniel Henrique Barboza
2020-01-07 11:26   ` Thomas Huth
2020-01-06 18:23 ` [PATCH v1 31/59] util/aio-posix.c: remove unneeded 'out' label in aio_epoll Daniel Henrique Barboza
2020-01-07 13:34   ` Thomas Huth
2020-01-06 18:23 ` [PATCH v1 32/59] qemu-img.c: remove 'out4' label in img_compare Daniel Henrique Barboza
2020-01-06 18:23 ` [PATCH v1 33/59] ipmi/ipmi_bmc_sim.c: remove unneeded labels Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 34/59] ipmi/ipmi_bt.c: remove unneeded label in ipmi_bt_handle_event Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 35/59] ipmi_bmc_extern.c: remove unneeded label in ipmi_bmc_extern_handle_command Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 36/59] ipmi/ipmi_kcs.c: remove unneeded label in ipmi_kcs_handle_event Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 37/59] s390x/event-facility.c: remove unneeded labels Daniel Henrique Barboza
2020-01-07 13:36   ` Thomas Huth
2020-01-08 12:46   ` Cornelia Huck
2020-01-08 14:15     ` Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 38/59] s390x/sclp.c: remove unneeded label in sclp_service_call() Daniel Henrique Barboza
2020-01-07 13:37   ` Thomas Huth
2020-01-08 13:16   ` Cornelia Huck
2020-01-06 18:24 ` [PATCH v1 39/59] usb/dev-mtp.c: remove unneeded label in write_retry() Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 40/59] hsb/hcd-ehci.c: remove unneeded labels Daniel Henrique Barboza
2020-01-13 15:17   ` Markus Armbruster
2020-01-06 18:24 ` [PATCH v1 41/59] intc/s390_flic_kvm.c: remove unneeded label in kvm_flic_load() Daniel Henrique Barboza
2020-01-08 13:00   ` Cornelia Huck
2020-01-13 16:51     ` Cornelia Huck
2020-01-13 16:06   ` Thomas Huth
2020-01-06 18:24 ` [PATCH v1 42/59] i386/intel_iommu.c: remove unneeded labels Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 43/59] i386/amd_iommu.c: remove unneeded label in amdvi_int_remap_msi() Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 44/59] 9p-local.c: remove unneeded label in local_unlinkat_common() Daniel Henrique Barboza
2020-01-07 12:04   ` Christian Schoenebeck
2020-01-07 13:58     ` Greg Kurz
2020-01-07 13:53   ` Greg Kurz
2020-01-07 14:16     ` Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 45/59] 9pfs/9p.c: remove unneeded labels Daniel Henrique Barboza
2020-01-07 12:14   ` Christian Schoenebeck
2020-01-08 14:08     ` Greg Kurz
2020-01-06 18:24 ` [PATCH v1 46/59] alpha/typhoon.c: remove unneeded label in typhoon_translate_iommu() Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 47/59] pvrdma_main.c: remove unneeded labels Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 48/59] pvrdma_dev_ring.c: remove unneeded label in pvrdma_ring_init() Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 49/59] rdma/rdma_rm.c: remove unneeded label in rdma_rm_alloc_pd() Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 50/59] rdma/rdma_backend.c: remove unneeded label in rdma_backend_init() Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 51/59] virtio/vhost.c: remove unneeded labels Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 52/59] net/vhost_net.c: " Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 53/59] net/net_tx_pkt.c: remove unneeded label in net_tx_pkt_get_gso_type() Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 54/59] ivshmem-server/main.c: remove unneeded label in main() Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 55/59] linux-user/flatload.c: remove unused 'out' label Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 56/59] linux-user/signal.c: remove unneeded label in do_sigaltstack() Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 57/59] linux-user/syscall.c: fix trailing whitespaces and style Daniel Henrique Barboza
2020-01-07  6:57   ` Philippe Mathieu-Daudé
2020-01-07 10:37   ` Peter Maydell
2020-01-06 18:24 ` [PATCH v1 58/59] linux-user/syscall.c: remove unneeded labels Daniel Henrique Barboza
2020-01-06 18:24 ` [PATCH v1 59/59] linux-user/vm86.c: remove unneeded label in do_vm86() Daniel Henrique Barboza
2020-01-06 19:54 ` [PATCH v1 00/59] trivial unneeded labels cleanup Corey Minyard
2020-01-06 20:35   ` Daniel Henrique Barboza
2020-01-07  6:16     ` Kevin Wolf
2020-01-07  7:06       ` Philippe Mathieu-Daudé
2020-01-09 19:19         ` Daniel Henrique Barboza
2020-01-07 11:52       ` Daniel Henrique Barboza
2020-01-07 12:21         ` Kevin Wolf
2020-01-13 15:26   ` Markus Armbruster
2020-01-07  9:43 ` Max Reitz
2020-01-09 20:16   ` Daniel Henrique Barboza
2020-01-10 19:05 ` Eric Blake
2020-01-10 20:31   ` Daniel Henrique Barboza

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200106182425.20312-25-danielhb413@gmail.com \
    --to=danielhb413@gmail.com \
    --cc=codyprime@gmail.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).