qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Michael S . Tsirkin" <mst@redhat.com>
Subject: [PULL 09/15] migration: Unify failure check for migrate_add_blocker()
Date: Fri, 27 Aug 2021 06:50:38 +0200	[thread overview]
Message-ID: <20210827045044.388748-10-armbru@redhat.com> (raw)
In-Reply-To: <20210827045044.388748-1-armbru@redhat.com>

Most callers check the return value.  Some check whether it set an
error.  Functionally equivalent, but the former tends to be easier on
the eyes, so do that everywhere.

Prior art: commit c6ecec43b2 "qemu-option: Check return value instead
of @err where convenient".

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20210720125408.387910-10-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
---
 backends/tpm/tpm_emulator.c | 3 +--
 hw/virtio/vhost.c           | 2 +-
 target/i386/kvm/kvm.c       | 6 +++---
 target/i386/nvmm/nvmm-all.c | 3 +--
 target/i386/whpx/whpx-all.c | 3 +--
 5 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/backends/tpm/tpm_emulator.c b/backends/tpm/tpm_emulator.c
index e5f1063ab6..f8095d23d5 100644
--- a/backends/tpm/tpm_emulator.c
+++ b/backends/tpm/tpm_emulator.c
@@ -492,8 +492,7 @@ static int tpm_emulator_block_migration(TPMEmulator *tpm_emu)
         error_setg(&tpm_emu->migration_blocker,
                    "Migration disabled: TPM emulator does not support "
                    "migration");
-        migrate_add_blocker(tpm_emu->migration_blocker, &err);
-        if (err) {
+        if (migrate_add_blocker(tpm_emu->migration_blocker, &err) < 0) {
             error_report_err(err);
             error_free(tpm_emu->migration_blocker);
             tpm_emu->migration_blocker = NULL;
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index e8f85a5d2d..dbbc6b6915 100644
--- a/hw/virtio/vhost.c
+++ b/hw/virtio/vhost.c
@@ -1372,7 +1372,7 @@ int vhost_dev_init(struct vhost_dev *hdev, void *opaque,
 
     if (hdev->migration_blocker != NULL) {
         r = migrate_add_blocker(hdev->migration_blocker, errp);
-        if (*errp) {
+        if (r < 0) {
             error_free(hdev->migration_blocker);
             goto fail_busyloop;
         }
diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index 57aed525b5..500d2e0e68 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -1435,7 +1435,7 @@ static int hyperv_init_vcpu(X86CPU *cpu)
                    "'hv-passthrough' CPU flag prevents migration, use explicit"
                    " set of hv-* flags instead");
         ret = migrate_add_blocker(hv_passthrough_mig_blocker, &local_err);
-        if (local_err) {
+        if (ret < 0) {
             error_report_err(local_err);
             return ret;
         }
@@ -1449,7 +1449,7 @@ static int hyperv_init_vcpu(X86CPU *cpu)
                    " make sure SMT is disabled and/or that vCPUs are properly"
                    " pinned)");
         ret = migrate_add_blocker(hv_no_nonarch_cs_mig_blocker, &local_err);
-        if (local_err) {
+        if (ret < 0) {
             error_report_err(local_err);
             return ret;
         }
@@ -1888,7 +1888,7 @@ int kvm_arch_init_vcpu(CPUState *cs)
                        "State blocked by non-migratable CPU device"
                        " (invtsc flag)");
             r = migrate_add_blocker(invtsc_mig_blocker, &local_err);
-            if (local_err) {
+            if (r < 0) {
                 error_report_err(local_err);
                 return r;
             }
diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c
index 7bb0d9e30e..28dee4c5ee 100644
--- a/target/i386/nvmm/nvmm-all.c
+++ b/target/i386/nvmm/nvmm-all.c
@@ -926,8 +926,7 @@ nvmm_init_vcpu(CPUState *cpu)
         error_setg(&nvmm_migration_blocker,
             "NVMM: Migration not supported");
 
-        (void)migrate_add_blocker(nvmm_migration_blocker, &local_error);
-        if (local_error) {
+        if (migrate_add_blocker(nvmm_migration_blocker, &local_error) < 0) {
             error_report_err(local_error);
             error_free(nvmm_migration_blocker);
             return -EINVAL;
diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
index cc8c0b984b..3e925b9da7 100644
--- a/target/i386/whpx/whpx-all.c
+++ b/target/i386/whpx/whpx-all.c
@@ -1346,8 +1346,7 @@ int whpx_init_vcpu(CPUState *cpu)
                "State blocked due to non-migratable CPUID feature support,"
                "dirty memory tracking support, and XSAVE/XRSTOR support");
 
-        (void)migrate_add_blocker(whpx_migration_blocker, &local_error);
-        if (local_error) {
+        if (migrate_add_blocker(whpx_migration_blocker, &local_error) < 0) {
             error_report_err(local_error);
             error_free(whpx_migration_blocker);
             ret = -EINVAL;
-- 
2.31.1



  parent reply	other threads:[~2021-08-27  4:59 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-27  4:50 [PULL 00/15] Error reporting patches for 2021-08-26 Markus Armbruster
2021-08-27  4:50 ` [PULL 01/15] error: Use error_fatal to simplify obvious fatal errors (again) Markus Armbruster
2021-08-27  4:50 ` [PULL 02/15] spapr: Plug memory leak when we can't add a migration blocker Markus Armbruster
2021-08-27  4:50 ` [PULL 03/15] spapr: Explain purpose of ->fwnmi_migration_blocker more clearly Markus Armbruster
2021-08-27  4:50 ` [PULL 04/15] multi-process: Fix pci_proxy_dev_realize() error handling Markus Armbruster
2021-08-27  4:50 ` [PULL 05/15] vhost-scsi: Plug memory leak on migrate_add_blocker() failure Markus Armbruster
2021-08-27  4:50 ` [PULL 06/15] i386: Never free migration blocker objects instead of sometimes Markus Armbruster
2021-08-27  4:50 ` [PULL 07/15] vfio: Avoid error_propagate() after migrate_add_blocker() Markus Armbruster
2021-08-27  4:50 ` [PULL 08/15] whpx nvmm: Drop useless migrate_del_blocker() Markus Armbruster
2021-08-27 16:58   ` [EXTERNAL] " Sunil Muthuswamy
2021-08-28  9:13     ` Markus Armbruster
2021-08-27  4:50 ` Markus Armbruster [this message]
2021-08-27  4:50 ` [PULL 10/15] migration: Handle migration_incoming_setup() errors consistently Markus Armbruster
2021-08-27  4:50 ` [PULL 11/15] microvm: Drop dead error handling in microvm_machine_state_init() Markus Armbruster
2021-08-27  4:50 ` [PULL 12/15] vhost: Clean up how VhostOpts method vhost_get_config() fails Markus Armbruster
2021-08-27  4:50 ` [PULL 13/15] vhost: Clean up how VhostOpts method vhost_backend_init() fails Markus Armbruster
2021-08-27  4:50 ` [PULL 14/15] Remove superfluous ERRP_GUARD() Markus Armbruster
2021-08-27  4:50 ` [PULL 15/15] vl: Clean up -smp error handling Markus Armbruster
2021-08-27 10:32 ` [PULL 00/15] Error reporting patches for 2021-08-26 Peter Maydell

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=20210827045044.388748-10-armbru@redhat.com \
    --to=armbru@redhat.com \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@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).