]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
lib: Prefer g_autoptr() declaration of virQEMUDriverConfigPtr
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 4 Sep 2020 06:59:08 +0000 (08:59 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 7 Sep 2020 08:47:54 +0000 (10:47 +0200)
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 <mprivozn@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
src/qemu/qemu_conf.h
src/qemu/qemu_hostdev.c
src/qemu/qemu_interface.c
src/qemu/qemu_migration.c
src/qemu/qemu_migration_cookie.c
tests/domaincapstest.c
tests/qemuxml2xmltest.c

index 687829123c4a1fae2f4eff1e36e92c025715950f..1d7afa873885fc0f9328c07270ede1de508465e2 100644 (file)
@@ -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;
index d39f9d7584eab397479ac1196329abbc2a9b3f23..721fe5da82e442268eb81fc81957ea7a5900b6bc 100644 (file)
@@ -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
index ddd4ee273108e0711b7b993f2fa281097b46dad6..cbf3d999813cb8fd0ae89141ea629f768d0fef58 100644 (file)
@@ -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;
 }
index 732e789c82de2188efccdb7bf578478510f1fefd..03d6a522e7f7df3dd2e07dcded845f9061917ce1 100644 (file)
@@ -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;
 }
 
index cef255598854e5a239243a28b090ca2789c3b514..3ea46e1527f4f6bda83d7e82373beb2f66bbaa75 100644 (file)
@@ -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;
 }
 
index b060f47f7f1f0e25fee8b00b0323ece74438d991..d2ed820cf97a943378af525cb61880f61d11f66e 100644 (file)
@@ -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 */
index 6eb008c8d21c82e28f7a44287b4d82ac0c312b56..39a9da874f1a92d1e8b130c733806a6b206c7e71 100644 (file)
@@ -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;