diff mbox series

[07/16] vfio: Avoid error_propagate() after migrate_add_blocker()

Message ID 20210720125408.387910-8-armbru@redhat.com
State New
Headers show
Series Various error handling fixes and cleanups | expand

Commit Message

Markus Armbruster July 20, 2021, 12:53 p.m. UTC
When migrate_add_blocker(blocker, &errp) is followed by
error_propagate(errp, err), we can often just as well do
migrate_add_blocker(..., errp).  This is the case in
vfio_migration_probe().

Prior art: commit 386f6c07d2 "error: Avoid error_propagate() after
migrate_add_blocker()".

Cc: Kirti Wankhede <kwankhede@nvidia.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/vfio/migration.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Philippe Mathieu-Daudé July 20, 2021, 6:03 p.m. UTC | #1
On 7/20/21 2:53 PM, Markus Armbruster wrote:
> When migrate_add_blocker(blocker, &errp) is followed by
> error_propagate(errp, err), we can often just as well do
> migrate_add_blocker(..., errp).  This is the case in
> vfio_migration_probe().
> 
> Prior art: commit 386f6c07d2 "error: Avoid error_propagate() after
> migrate_add_blocker()".
> 
> Cc: Kirti Wankhede <kwankhede@nvidia.com>
> Cc: Alex Williamson <alex.williamson@redhat.com>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  hw/vfio/migration.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Kirti Wankhede July 21, 2021, 6:24 a.m. UTC | #2
On 7/20/2021 6:23 PM, Markus Armbruster wrote:
> When migrate_add_blocker(blocker, &errp) is followed by
> error_propagate(errp, err), we can often just as well do
> migrate_add_blocker(..., errp).  This is the case in
> vfio_migration_probe().
> 
> Prior art: commit 386f6c07d2 "error: Avoid error_propagate() after
> migrate_add_blocker()".
> 
> Cc: Kirti Wankhede <kwankhede@nvidia.com>
> Cc: Alex Williamson <alex.williamson@redhat.com>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>   hw/vfio/migration.c | 6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
> index 82f654afb6..ff6b45de6b 100644
> --- a/hw/vfio/migration.c
> +++ b/hw/vfio/migration.c
> @@ -858,7 +858,6 @@ int vfio_migration_probe(VFIODevice *vbasedev, Error **errp)
>   {
>       VFIOContainer *container = vbasedev->group->container;
>       struct vfio_region_info *info = NULL;
> -    Error *local_err = NULL;
>       int ret = -ENOTSUP;
>   
>       if (!vbasedev->enable_migration || !container->dirty_pages_supported) {
> @@ -885,9 +884,8 @@ add_blocker:
>                  "VFIO device doesn't support migration");
>       g_free(info);
>   
> -    ret = migrate_add_blocker(vbasedev->migration_blocker, &local_err);
> -    if (local_err) {
> -        error_propagate(errp, local_err);
> +    ret = migrate_add_blocker(vbasedev->migration_blocker, errp);
> +    if (ret < 0) {
>           error_free(vbasedev->migration_blocker);
>           vbasedev->migration_blocker = NULL;
>       }
> 

Reviewed by: Kirti Wankhede <kwankhede@nvidia.com>
Paolo Bonzini July 21, 2021, 9:26 a.m. UTC | #3
On 20/07/21 14:53, Markus Armbruster wrote:
> When migrate_add_blocker(blocker, &errp) is followed by

Just a nit, &err.

Paolo

> error_propagate(errp, err), we can often just as well do
> migrate_add_blocker(..., errp).  This is the case in
> vfio_migration_probe().
Markus Armbruster July 21, 2021, 2:12 p.m. UTC | #4
Paolo Bonzini <pbonzini@redhat.com> writes:

> On 20/07/21 14:53, Markus Armbruster wrote:
>> When migrate_add_blocker(blocker, &errp) is followed by
>
> Just a nit, &err.

Wll fix, thanks!

> Paolo
>
>> error_propagate(errp, err), we can often just as well do
>> migrate_add_blocker(..., errp).  This is the case in
>> vfio_migration_probe().
diff mbox series

Patch

diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
index 82f654afb6..ff6b45de6b 100644
--- a/hw/vfio/migration.c
+++ b/hw/vfio/migration.c
@@ -858,7 +858,6 @@  int vfio_migration_probe(VFIODevice *vbasedev, Error **errp)
 {
     VFIOContainer *container = vbasedev->group->container;
     struct vfio_region_info *info = NULL;
-    Error *local_err = NULL;
     int ret = -ENOTSUP;
 
     if (!vbasedev->enable_migration || !container->dirty_pages_supported) {
@@ -885,9 +884,8 @@  add_blocker:
                "VFIO device doesn't support migration");
     g_free(info);
 
-    ret = migrate_add_blocker(vbasedev->migration_blocker, &local_err);
-    if (local_err) {
-        error_propagate(errp, local_err);
+    ret = migrate_add_blocker(vbasedev->migration_blocker, errp);
+    if (ret < 0) {
         error_free(vbasedev->migration_blocker);
         vbasedev->migration_blocker = NULL;
     }