From d92c2bbc6597fcb951b303a9122ec1ca71514d10 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Fri, 4 Sep 2020 08:59:08 +0200 Subject: [PATCH] lib: Prefer g_autoptr() declaration of virQEMUDriverConfigPtr In the past we had to declare @cfg and then explicitly unref it. But now, with glib we can use g_autoptr() which will do the unref automatically and thus is more bulletproof. Signed-off-by: Michal Privoznik Reviewed-by: Laine Stump --- src/qemu/qemu_conf.h | 6 +----- src/qemu/qemu_hostdev.c | 4 +--- src/qemu/qemu_interface.c | 9 +++------ src/qemu/qemu_migration.c | 8 ++------ src/qemu/qemu_migration_cookie.c | 4 +--- tests/domaincapstest.c | 4 +--- tests/qemuxml2xmltest.c | 2 +- 7 files changed, 10 insertions(+), 27 deletions(-) diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h index 687829123c..1d7afa8738 100644 --- a/src/qemu/qemu_conf.h +++ b/src/qemu/qemu_conf.h @@ -64,13 +64,9 @@ typedef virQEMUDriverConfig *virQEMUDriverConfigPtr; * being released while they use it. * * eg - * qemuDriverLock(driver); - * virQEMUDriverConfigPtr cfg = virObjectRef(driver->config); - * qemuDriverUnlock(driver); + * g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); * * ...do stuff with 'cfg'.. - * - * virObjectUnref(cfg); */ struct _virQEMUDriverConfig { virObject parent; diff --git a/src/qemu/qemu_hostdev.c b/src/qemu/qemu_hostdev.c index d39f9d7584..721fe5da82 100644 --- a/src/qemu/qemu_hostdev.c +++ b/src/qemu/qemu_hostdev.c @@ -405,14 +405,12 @@ qemuHostdevReAttachPCIDevices(virQEMUDriverPtr driver, virDomainHostdevDefPtr *hostdevs, int nhostdevs) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); const char *oldStateDir = cfg->stateDir; virHostdevManagerPtr hostdev_mgr = driver->hostdevMgr; virHostdevReAttachPCIDevices(hostdev_mgr, QEMU_DRIVER_NAME, name, hostdevs, nhostdevs, oldStateDir); - - virObjectUnref(cfg); } void diff --git a/src/qemu/qemu_interface.c b/src/qemu/qemu_interface.c index ddd4ee2731..cbf3d99981 100644 --- a/src/qemu/qemu_interface.c +++ b/src/qemu/qemu_interface.c @@ -261,7 +261,7 @@ qemuInterfaceDirectConnect(virDomainDefPtr def, { int ret = -1; char *res_ifname = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); unsigned int macvlan_create_flags = VIR_NETDEV_MACVLAN_CREATE_WITH_TAP; if (qemuInterfaceIsVnetCompatModel(net)) @@ -290,7 +290,6 @@ qemuInterfaceDirectConnect(virDomainDefPtr def, while (tapfdSize--) VIR_FORCE_CLOSE(tapfd[tapfdSize]); } - virObjectUnref(cfg); return ret; } @@ -413,7 +412,7 @@ qemuInterfaceEthernetConnect(virDomainDefPtr def, int ret = -1; unsigned int tap_create_flags = VIR_NETDEV_TAP_CREATE_IFUP; bool template_ifname = false; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); const char *tunpath = "/dev/net/tun"; const char *auditdev = tunpath; @@ -514,7 +513,6 @@ qemuInterfaceEthernetConnect(virDomainDefPtr def, if (template_ifname) VIR_FREE(net->ifname); } - virObjectUnref(cfg); return ret; } @@ -542,7 +540,7 @@ qemuInterfaceBridgeConnect(virDomainDefPtr def, int ret = -1; unsigned int tap_create_flags = VIR_NETDEV_TAP_CREATE_IFUP; bool template_ifname = false; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); const char *tunpath = "/dev/net/tun"; if (net->backend.tap) { @@ -633,7 +631,6 @@ qemuInterfaceBridgeConnect(virDomainDefPtr def, if (template_ifname) VIR_FREE(net->ifname); } - virObjectUnref(cfg); return ret; } diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 732e789c82..03d6a522e7 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -3205,11 +3205,9 @@ qemuMigrationSrcConfirm(virQEMUDriverPtr driver, int cancelled) { qemuMigrationJobPhase phase; - virQEMUDriverConfigPtr cfg = NULL; + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int ret = -1; - cfg = virQEMUDriverGetConfig(driver); - if (!qemuMigrationJobIsActive(vm, QEMU_ASYNC_JOB_MIGRATION_OUT)) goto cleanup; @@ -3237,7 +3235,6 @@ qemuMigrationSrcConfirm(virQEMUDriverPtr driver, cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(cfg); return ret; } @@ -4091,7 +4088,7 @@ qemuMigrationSrcPerformTunnel(virQEMUDriverPtr driver, { int ret = -1; qemuMigrationSpec spec; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int fds[2] = { -1, -1 }; VIR_DEBUG("driver=%p, vm=%p, st=%p, cookiein=%s, cookieinlen=%d, " @@ -4132,7 +4129,6 @@ qemuMigrationSrcPerformTunnel(virQEMUDriverPtr driver, VIR_FORCE_CLOSE(spec.dest.fd.qemu); VIR_FORCE_CLOSE(spec.dest.fd.local); - virObjectUnref(cfg); return ret; } diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_cookie.c index cef2555988..3ea46e1527 100644 --- a/src/qemu/qemu_migration_cookie.c +++ b/src/qemu/qemu_migration_cookie.c @@ -194,7 +194,7 @@ qemuMigrationCookieGraphicsSpiceAlloc(virQEMUDriverPtr driver, { qemuMigrationCookieGraphicsPtr mig = NULL; const char *listenAddr; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); if (VIR_ALLOC(mig) < 0) goto error; @@ -215,12 +215,10 @@ qemuMigrationCookieGraphicsSpiceAlloc(virQEMUDriverPtr driver, mig->listen = g_strdup(listenAddr); - virObjectUnref(cfg); return mig; error: qemuMigrationCookieGraphicsFree(mig); - virObjectUnref(cfg); return NULL; } diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c index b060f47f7f..d2ed820cf9 100644 --- a/tests/domaincapstest.c +++ b/tests/domaincapstest.c @@ -371,7 +371,7 @@ mymain(void) #endif #if WITH_QEMU - virQEMUDriverConfigPtr cfg = virQEMUDriverConfigNew(false, NULL); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverConfigNew(false, NULL); if (!cfg) return EXIT_FAILURE; @@ -453,8 +453,6 @@ mymain(void) * file has been added, run "VIR_TEST_REGENERATE_OUTPUT=1 ninja test". */ - virObjectUnref(cfg); - virFileWrapperClearPrefixes(); #endif /* WITH_QEMU */ diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 6eb008c8d2..39a9da874f 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -132,7 +132,7 @@ mymain(void) { int ret = 0; g_autofree char *fakerootdir = NULL; - virQEMUDriverConfigPtr cfg = NULL; + g_autoptr(virQEMUDriverConfig) cfg = NULL; g_autoptr(virHashTable) capslatest = NULL; g_autoptr(virConnect) conn = NULL;