From 57a9d2fe013feea59cba89b01d86ef63f3e14cf6 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Thu, 6 Dec 2018 12:32:28 -0500 Subject: [PATCH] libxl: Use consistent error preservation and restoration calls Provide some consistency over error message variable name and usage when saving error messages across possible other errors or possibility of resetting of the last error. Instead of virSaveLastError paired up with virSetError and virFreeError, we should use the newer virErrorPreserveLast and virRestoreError. Signed-off-by: John Ferlan Reviewed-by: Michal Privoznik --- src/libxl/libxl_migration.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/libxl/libxl_migration.c b/src/libxl/libxl_migration.c index 8a41e9374d..770a300316 100644 --- a/src/libxl/libxl_migration.c +++ b/src/libxl/libxl_migration.c @@ -1049,7 +1049,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivatePtr driver, if (uri_out) { if (virTypedParamsReplaceString(¶ms, &nparams, VIR_MIGRATE_PARAM_URI, uri_out) < 0) { - orig_err = virSaveLastError(); + virErrorPreserveLast(&orig_err); goto finish; } } else { @@ -1067,7 +1067,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivatePtr driver, uri_out, NULL, flags); if (ret < 0) { notify_source = false; - orig_err = virSaveLastError(); + virErrorPreserveLast(&orig_err); } cancelled = (ret < 0); @@ -1094,7 +1094,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivatePtr driver, * one we need to preserve it in case confirm3 overwrites */ if (!orig_err) - orig_err = virSaveLastError(); + virErrorPreserveLast(&orig_err); confirm: if (notify_source) { @@ -1119,10 +1119,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivatePtr driver, ret = -1; } - if (orig_err) { - virSetError(orig_err); - virFreeError(orig_err); - } + virErrorRestore(&orig_err); VIR_FREE(cookieout); VIR_FREE(dom_xml); @@ -1200,15 +1197,12 @@ libxlDomainMigrationSrcPerformP2P(libxlDriverPrivatePtr driver, } cleanup: - orig_err = virSaveLastError(); + virErrorPreserveLast(&orig_err); virObjectUnlock(vm); virObjectUnref(dconn); virObjectUnref(cfg); virObjectLock(vm); - if (orig_err) { - virSetError(orig_err); - virFreeError(orig_err); - } + virErrorRestore(&orig_err); return ret; } -- GitLab