All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.