[libvirt] [PATCH] virErrorPreserveLast conversions

Michal Privoznik mprivozn at redhat.com
Fri Apr 5 08:42:25 UTC 2019


On 4/3/19 8:34 PM, Syed Humaid wrote:
> From: Humaid <syedhumaidbinharoon at gmail.com>
> 
> Converted few instances of virSaveLastError() to virErrorPreserveLast() as per the newer internal APIs for saving and restoring error reports.
> 

Please split this long line.

> Signed-off-by: Syed Humaid <syedhumaidbinharoon at gmail.com>
>   
> ---
>   src/libvirt-domain.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
> index be5b1f6740..fba4d98994 100644
> --- a/src/libvirt-domain.c
> +++ b/src/libvirt-domain.c
> @@ -2894,7 +2894,7 @@ virDomainMigrateVersion2(virDomainPtr domain,
>                          _("domainMigratePrepare2 did not set uri"));
>           cancelled = 1;
>           /* Make sure Finish doesn't overwrite the error */
> -        orig_err = virSaveLastError();
> +        virErrorPreserveLast(&orig_err);
>           goto finish;
>       }
>       if (uri_out)
> @@ -2909,7 +2909,7 @@ virDomainMigrateVersion2(virDomainPtr domain,
>   
>       /* Perform failed. Make sure Finish doesn't overwrite the error */
>       if (ret < 0)
> -        orig_err = virSaveLastError();
> +        virErrorPreserveLast(&orig_err);
>   
>       /* If Perform returns < 0, then we need to cancel the VM
>        * startup on the destination
> @@ -3100,7 +3100,7 @@ virDomainMigrateVersion3Full(virDomainPtr domain,
>           virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>                          _("domainMigratePrepare3 did not set uri"));
>           cancelled = 1;
> -        orig_err = virSaveLastError();
> +        virErrorPreserveLast(&orig_err);
>           goto finish;
>       }
>   
> 

I like this, but:

1) it should be done for the rest of the code too [*]
2) there are several places where we call virSetError() + virFreeError() 
even though we've caleld virErrorPreserveLast() earlier. Now, it's not 
incorrect (strictly speaking), but it would look much nicer if we called 
virErrorRestore() instead. But this is something for a separate patch.

Michal

* - Unfortunately, we can't just ditch virSaveLastError() because it's a 
public API :-(




More information about the libvir-list mailing list