Following up the directions provided in commit 16121a88a7, this patch converts virStorageSource to use GObject. All calls to virObjectRef were converted to g_object_ref. Calls to virObjectUnref were changed to use either g_object_unref or g_clear_object, depending on the context. Signed-off-by: Daniel Henrique Barboza <danielhb413@xxxxxxxxx> --- src/conf/domain_conf.c | 13 ++--- src/conf/snapshot_conf.c | 3 +- src/qemu/qemu_blockjob.c | 43 ++++++-------- src/qemu/qemu_domain.c | 6 +- src/qemu/qemu_driver.c | 14 ++--- src/qemu/qemu_hotplug.c | 3 +- src/qemu/qemu_migration.c | 2 +- src/storage/storage_backend_gluster.c | 2 +- src/storage/storage_util.c | 4 +- src/util/virstoragefile.c | 84 +++++++++++++-------------- src/util/virstoragefile.h | 9 ++- tests/qemublocktest.c | 6 +- tests/virstoragetest.c | 12 ++-- 13 files changed, 98 insertions(+), 103 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index c1705a07b6..71888ebaf0 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -2097,10 +2097,10 @@ virDomainDiskDefFree(virDomainDiskDefPtr def) if (!def) return; - virObjectUnref(def->src); + g_clear_object(&def->src); VIR_FREE(def->serial); VIR_FREE(def->dst); - virObjectUnref(def->mirror); + g_clear_object(&def->mirror); VIR_FREE(def->wwn); VIR_FREE(def->driverName); VIR_FREE(def->vendor); @@ -2312,7 +2312,7 @@ void virDomainFSDefFree(virDomainFSDefPtr def) if (!def) return; - virObjectUnref(def->src); + g_object_unref(def->src); VIR_FREE(def->dst); virDomainDeviceInfoClear(&def->info); VIR_FREE(def->virtio); @@ -2896,8 +2896,7 @@ virDomainHostdevSubsysSCSIiSCSIClear(virDomainHostdevSubsysSCSIiSCSIPtr iscsisrc if (!iscsisrc) return; - virObjectUnref(iscsisrc->src); - iscsisrc->src = NULL; + g_clear_object(&iscsisrc->src); } @@ -9276,7 +9275,7 @@ virDomainStorageSourceParseBase(const char *type, const char *format, const char *index) { - VIR_AUTOUNREF(virStorageSourcePtr) src = NULL; + g_autoptr(virStorageSource) src = NULL; virStorageSourcePtr ret = NULL; if (!(src = virStorageSourceNew())) @@ -9402,7 +9401,7 @@ virDomainDiskBackingStoreParse(xmlXPathContextPtr ctxt, { VIR_XPATH_NODE_AUTORESTORE(ctxt); xmlNodePtr source; - VIR_AUTOUNREF(virStorageSourcePtr) backingStore = NULL; + g_autoptr(virStorageSource) backingStore = NULL; VIR_AUTOFREE(char *) type = NULL; VIR_AUTOFREE(char *) format = NULL; VIR_AUTOFREE(char *) idx = NULL; diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c index a77f521302..cb85d147b8 100644 --- a/src/conf/snapshot_conf.c +++ b/src/conf/snapshot_conf.c @@ -94,8 +94,7 @@ static void virDomainSnapshotDiskDefClear(virDomainSnapshotDiskDefPtr disk) { VIR_FREE(disk->name); - virObjectUnref(disk->src); - disk->src = NULL; + g_clear_object(&disk->src); } void diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c index c118f2c298..5bac0ec976 100644 --- a/src/qemu/qemu_blockjob.c +++ b/src/qemu/qemu_blockjob.c @@ -76,11 +76,11 @@ qemuBlockJobDataDispose(void *obj) { qemuBlockJobDataPtr job = obj; - virObjectUnref(job->chain); - virObjectUnref(job->mirrorChain); + g_clear_object(&job->chain); + g_clear_object(&job->mirrorChain); if (job->type == QEMU_BLOCKJOB_TYPE_CREATE) - virObjectUnref(job->data.create.src); + g_clear_object(&job->data.create.src); VIR_FREE(job->name); VIR_FREE(job->errmsg); @@ -156,7 +156,7 @@ qemuBlockJobRegister(qemuBlockJobDataPtr job, if (disk) { job->disk = disk; - job->chain = virObjectRef(disk->src); + job->chain = g_object_ref(disk->src); QEMU_DOMAIN_DISK_PRIVATE(disk)->blockjob = virObjectRef(job); } @@ -304,9 +304,9 @@ qemuBlockJobNewCreate(virDomainObjPtr vm, return NULL; if (virStorageSourceIsBacking(chain)) - job->chain = virObjectRef(chain); + job->chain = g_object_ref(chain); - job->data.create.src = virObjectRef(src); + job->data.create.src = g_object_ref(src); if (qemuBlockJobRegister(job, vm, NULL, true) < 0) return NULL; @@ -337,7 +337,7 @@ qemuBlockJobDiskNewCopy(virDomainObjPtr vm, if (!(job = qemuBlockJobDataNew(QEMU_BLOCKJOB_TYPE_COPY, jobname))) return NULL; - job->mirrorChain = virObjectRef(mirror); + job->mirrorChain = g_object_ref(mirror); if (shallow && !reuse) job->data.copy.shallownew = true; @@ -595,7 +595,7 @@ qemuBlockJobRewriteConfigDiskSource(virDomainObjPtr vm, virStorageSourcePtr newsrc) { virDomainDiskDefPtr persistDisk = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) copy = NULL; + g_autoptr(virStorageSource) copy = NULL; virStorageSourcePtr n; if (!vm->newDef) @@ -626,7 +626,7 @@ qemuBlockJobRewriteConfigDiskSource(virDomainObjPtr vm, } } - virObjectUnref(persistDisk->src); + g_object_unref(persistDisk->src); VIR_STEAL_PTR(persistDisk->src, copy); } @@ -661,7 +661,7 @@ qemuBlockJobEventProcessLegacyCompleted(virQEMUDriverPtr driver, disk->dst); } - virObjectUnref(disk->src); + g_object_unref(disk->src); disk->src = disk->mirror; } else { virStorageSourcePtr n; @@ -682,7 +682,7 @@ qemuBlockJobEventProcessLegacyCompleted(virQEMUDriverPtr driver, } } - virObjectUnref(disk->mirror); + g_object_unref(disk->mirror); } for (n = disk->src; virStorageSourceIsBacking(n); n = n->backingStore) { @@ -777,8 +777,7 @@ qemuBlockJobEventProcessLegacy(virQEMUDriverPtr driver, } } - virObjectUnref(disk->mirror); - disk->mirror = NULL; + g_clear_object(&disk->mirror); } disk->mirrorState = VIR_DOMAIN_DISK_MIRROR_STATE_NONE; disk->mirrorJob = VIR_DOMAIN_BLOCK_JOB_TYPE_UNKNOWN; @@ -957,14 +956,14 @@ qemuBlockJobProcessEventCompletedPull(virQEMUDriverPtr driver, if (baseparent) baseparent->backingStore = NULL; qemuBlockJobEventProcessConcludedRemoveChain(driver, vm, asyncJob, tmp); - virObjectUnref(tmp); + g_object_unref(tmp); if (cfgdisk) { tmp = cfgdisk->src->backingStore; cfgdisk->src->backingStore = cfgbase; if (cfgbaseparent) cfgbaseparent->backingStore = NULL; - virObjectUnref(tmp); + g_object_unref(tmp); } } @@ -1126,8 +1125,7 @@ qemuBlockJobProcessEventCompletedActiveCommit(virQEMUDriverPtr driver, virObjectUnref(job->data.commit.top); job->data.commit.top = NULL; /* the mirror element does not serve functional purpose for the commit job */ - virObjectUnref(job->disk->mirror); - job->disk->mirror = NULL; + g_clear_object(&job->disk->mirror); } @@ -1153,7 +1151,7 @@ qemuBlockJobProcessEventConcludedCopyPivot(virQEMUDriverPtr driver, qemuBlockJobRewriteConfigDiskSource(vm, job->disk, job->disk->mirror); qemuBlockJobEventProcessConcludedRemoveChain(driver, vm, asyncJob, job->disk->src); - virObjectUnref(job->disk->src); + g_object_unref(job->disk->src); VIR_STEAL_PTR(job->disk->src, job->disk->mirror); } @@ -1170,8 +1168,7 @@ qemuBlockJobProcessEventConcludedCopyAbort(virQEMUDriverPtr driver, return; qemuBlockJobEventProcessConcludedRemoveChain(driver, vm, asyncJob, job->disk->mirror); - virObjectUnref(job->disk->mirror); - job->disk->mirror = NULL; + g_clear_object(&job->disk->mirror); } @@ -1201,8 +1198,7 @@ qemuBlockJobProcessEventFailedActiveCommit(virQEMUDriverPtr driver, } } - virObjectUnref(disk->mirror); - disk->mirror = NULL; + g_clear_object(&disk->mirror); } @@ -1218,8 +1214,7 @@ qemuBlockJobProcessEventConcludedCreate(virQEMUDriverPtr driver, * it will handle further hotplug of the created volume and also that * the 'chain' which was registered is under their control */ if (job->synchronous) { - virObjectUnref(job->chain); - job->chain = NULL; + g_clear_object(&job->chain); return; } diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 35067c851f..8f97db3db6 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -3015,7 +3015,7 @@ qemuDomainObjPrivateXMLParseBlockjobChain(xmlNodePtr node, VIR_AUTOFREE(char *) format = NULL; VIR_AUTOFREE(char *) type = NULL; VIR_AUTOFREE(char *) index = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) src = NULL; + g_autoptr(virStorageSource) src = NULL; xmlNodePtr sourceNode; unsigned int xmlflags = VIR_DOMAIN_DEF_PARSE_STATUS; @@ -3220,7 +3220,7 @@ qemuDomainObjPrivateXMLParseBlockjobData(virDomainObjPtr vm, if (mirror) { if (disk) - job->mirrorChain = virObjectRef(disk->mirror); + job->mirrorChain = g_object_ref(disk->mirror); else invalidData = true; } @@ -3313,7 +3313,7 @@ qemuDomainObjPrivateXMLParseJobNBDSource(xmlNodePtr node, qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); VIR_AUTOFREE(char *) format = NULL; VIR_AUTOFREE(char *) type = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) migrSource = NULL; + g_autoptr(virStorageSource) migrSource = NULL; xmlNodePtr sourceNode; ctxt->node = node; diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index bc0ede2fb0..237b205fef 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -255,7 +255,7 @@ qemuSecurityChownCallback(const virStorageSource *src, int save_errno = 0; int ret = -1; int rv; - VIR_AUTOUNREF(virStorageSourcePtr) cpy = NULL; + g_autoptr(virStorageSource) cpy = NULL; rv = virStorageFileSupportsSecurityDriver(src); if (rv <= 0) @@ -15424,9 +15424,9 @@ qemuDomainSnapshotDiskCleanup(qemuDomainSnapshotDiskDataPtr data, if (data[i].prepared) qemuDomainStorageSourceAccessRevoke(driver, vm, data[i].src); - virObjectUnref(data[i].src); + g_object_unref(data[i].src); } - virObjectUnref(data[i].persistsrc); + g_object_unref(data[i].persistsrc); VIR_FREE(data[i].relPath); qemuBlockStorageSourceChainDataFree(data[i].crdata); } @@ -15450,7 +15450,7 @@ qemuDomainSnapshotDiskPrepareOne(virQEMUDriverPtr driver, qemuDomainObjPrivatePtr priv = vm->privateData; char *backingStoreStr; virDomainDiskDefPtr persistdisk; - VIR_AUTOUNREF(virStorageSourcePtr) terminator = NULL; + g_autoptr(virStorageSource) terminator = NULL; bool supportsCreate; bool supportsBacking; int rc; @@ -18212,7 +18212,7 @@ qemuDomainBlockCopyCommon(virDomainObjPtr vm, bool mirror_shallow = !!(flags & VIR_DOMAIN_BLOCK_COPY_SHALLOW); bool existing = mirror_reuse; qemuBlockJobDataPtr job = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) mirror = mirrorsrc; + g_autoptr(virStorageSource) mirror = mirrorsrc; bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); bool mirror_initialized = false; VIR_AUTOPTR(qemuBlockStorageSourceChainData) data = NULL; @@ -18485,7 +18485,7 @@ qemuDomainBlockRebase(virDomainPtr dom, const char *path, const char *base, virDomainObjPtr vm; int ret = -1; unsigned long long speed = bandwidth; - VIR_AUTOUNREF(virStorageSourcePtr) dest = NULL; + g_autoptr(virStorageSource) dest = NULL; virCheckFlags(VIR_DOMAIN_BLOCK_REBASE_SHALLOW | VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT | @@ -18690,7 +18690,7 @@ qemuDomainBlockCommit(virDomainPtr dom, VIR_AUTOFREE(char *) backingPath = NULL; unsigned long long speed = bandwidth; qemuBlockJobDataPtr job = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) mirror = NULL; + g_autoptr(virStorageSource) mirror = NULL; const char *nodetop = NULL; const char *nodebase = NULL; bool persistjob = false; diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index e9285f0964..674afb7247 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -636,8 +636,7 @@ qemuDomainChangeEjectableMedia(virQEMUDriverPtr driver, ignore_value(qemuDomainStorageSourceChainAccessRevoke(driver, vm, oldsrc)); /* media was changed, so we can remove the old media definition now */ - virObjectUnref(oldsrc); - oldsrc = NULL; + g_clear_object(&oldsrc); disk->src = newsrc; ret = 0; diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index a98ec2d55a..a21e1f8e01 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -797,7 +797,7 @@ qemuMigrationSrcNBDStorageCopyBlockdev(virQEMUDriverPtr driver, VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL; qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); int mon_ret = 0; - VIR_AUTOUNREF(virStorageSourcePtr) copysrc = NULL; + g_autoptr(virStorageSource) copysrc = NULL; VIR_DEBUG("starting blockdev mirror for disk=%s to host=%s", diskAlias, host); diff --git a/src/storage/storage_backend_gluster.c b/src/storage/storage_backend_gluster.c index 5955d834d9..8cb822f0cf 100644 --- a/src/storage/storage_backend_gluster.c +++ b/src/storage/storage_backend_gluster.c @@ -239,7 +239,7 @@ virStorageBackendGlusterRefreshVol(virStorageBackendGlusterStatePtr state, ssize_t len; int backingFormat; VIR_AUTOPTR(virStorageVolDef) vol = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) meta = NULL; + g_autoptr(virStorageSourcePtr) meta = NULL; VIR_AUTOFREE(char *) header = NULL; *volptr = NULL; diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c index be084119f4..c5aab148f2 100644 --- a/src/storage/storage_util.c +++ b/src/storage/storage_util.c @@ -3359,7 +3359,7 @@ storageBackendProbeTarget(virStorageSourcePtr target, int backingStoreFormat; int rc; struct stat sb; - VIR_AUTOUNREF(virStorageSourcePtr) meta = NULL; + g_autoptr(virStorageSource) meta = NULL; VIR_AUTOCLOSE fd = -1; if (encryption) @@ -3529,7 +3529,7 @@ virStorageBackendRefreshLocal(virStoragePoolObjPtr pool) int ret = -1; VIR_AUTOPTR(virStorageVolDef) vol = NULL; VIR_AUTOCLOSE fd = -1; - VIR_AUTOUNREF(virStorageSourcePtr) target = NULL; + g_autoptr(virStorageSource) target = NULL; if (virDirOpen(&dir, def->target.path) < 0) goto cleanup; diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c index 497ade927e..568e310290 100644 --- a/src/util/virstoragefile.c +++ b/src/util/virstoragefile.c @@ -47,7 +47,38 @@ VIR_LOG_INIT("util.storagefile"); -static virClassPtr virStorageSourceClass; +G_DEFINE_TYPE(virStorageSource, vir_storagesource, G_TYPE_OBJECT) + +static void vir_storagesource_init(virStorageSource *ident G_GNUC_UNUSED) +{ +} + + +static void +virStorageSourceFinalize(GObject *obj) +{ + virStorageSourcePtr src = VIR_STORAGESOURCE(obj); + + virStorageSourceClear(src); + + G_OBJECT_CLASS(vir_storagesource_parent_class)->finalize(obj); +} + + +static void vir_storagesource_class_init(virStorageSourceClass *klass) +{ + GObjectClass *obj = G_OBJECT_CLASS(klass); + + obj->finalize = virStorageSourceFinalize; +} + + +virStorageSourcePtr +virStorageSourceNew(void) +{ + return VIR_STORAGESOURCE(g_object_new(VIR_TYPE_STORAGESOURCE, NULL)); +} + VIR_ENUM_IMPL(virStorage, VIR_STORAGE_TYPE_LAST, @@ -1129,7 +1160,7 @@ static virStorageSourcePtr virStorageFileMetadataNew(const char *path, int format) { - VIR_AUTOUNREF(virStorageSourcePtr) def = NULL; + g_autoptr(virStorageSource) def = NULL; virStorageSourcePtr ret = NULL; if (!(def = virStorageSourceNew())) @@ -1219,7 +1250,7 @@ virStorageFileGetMetadataFromFD(const char *path, struct stat sb; int dummy; VIR_AUTOFREE(char *) buf = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) meta = NULL; + g_autoptr(virStorageSource) meta = NULL; if (!backingFormat) backingFormat = &dummy; @@ -2251,7 +2282,7 @@ virStorageSourceCopy(const virStorageSource *src, bool backingChain) { virStorageSourcePtr ret = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) def = NULL; + g_autoptr(virStorageSource) def = NULL; if (!(def = virStorageSourceNew())) return NULL; @@ -2591,37 +2622,6 @@ virStorageSourceClear(virStorageSourcePtr def) } -static void -virStorageSourceDispose(void *obj) -{ - virStorageSourcePtr src = obj; - - virStorageSourceClear(src); -} - - -static int -virStorageSourceOnceInit(void) -{ - if (!VIR_CLASS_NEW(virStorageSource, virClassForObject())) - return -1; - - return 0; -} - - -VIR_ONCE_GLOBAL_INIT(virStorageSource); - - -virStorageSourcePtr -virStorageSourceNew(void) -{ - if (virStorageSourceInitialize() < 0) - return NULL; - - return virObjectNew(virStorageSourceClass); -} - static virStorageSourcePtr virStorageSourceNewFromBackingRelative(virStorageSourcePtr parent, @@ -2629,7 +2629,7 @@ virStorageSourceNewFromBackingRelative(virStorageSourcePtr parent, { virStorageSourcePtr ret = NULL; VIR_AUTOFREE(char *) dirname = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) def = NULL; + g_autoptr(virStorageSource) def = NULL; if (!(def = virStorageSourceNew())) return NULL; @@ -3681,7 +3681,7 @@ virStorageSourceNewFromBackingAbsolute(const char *path, { const char *json; int rc = 0; - VIR_AUTOUNREF(virStorageSourcePtr) def = NULL; + g_autoptr(virStorageSource) def = NULL; *src = NULL; @@ -3748,7 +3748,7 @@ virStorageSourceNewFromChild(virStorageSourcePtr parent, virStorageSourcePtr *child) { struct stat st; - VIR_AUTOUNREF(virStorageSourcePtr) def = NULL; + g_autoptr(virStorageSource) def = NULL; int rc = 0; *child = NULL; @@ -3948,7 +3948,7 @@ virStorageSourceUpdateCapacity(virStorageSourcePtr src, bool probe) { int format = src->format; - VIR_AUTOUNREF(virStorageSourcePtr) meta = NULL; + g_autoptr(virStorageSource) meta = NULL; /* Raw files: capacity is physical size. For all other files: if * the metadata has a capacity, use that, otherwise fall back to @@ -4943,7 +4943,7 @@ virStorageFileGetMetadataRecurse(virStorageSourcePtr src, int backingFormat; int rv; VIR_AUTOFREE(char *) buf = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) backingStore = NULL; + g_autoptr(virStorageSource) backingStore = NULL; VIR_DEBUG("path=%s format=%d uid=%u gid=%u", src->path, src->format, @@ -5028,7 +5028,7 @@ virStorageFileGetMetadataRecurse(virStorageSourcePtr src, VIR_STEAL_PTR(src->backingStore, backingStore); if (src->externalDataStoreRaw) { - VIR_AUTOUNREF(virStorageSourcePtr) externalDataStore = NULL; + g_autoptr(virStorageSource) externalDataStore = NULL; if ((rv = virStorageSourceNewFromExternalData(src, &externalDataStore)) < 0) @@ -5121,7 +5121,7 @@ virStorageFileGetBackingStoreStr(virStorageSourcePtr src, ssize_t headerLen; int rv; VIR_AUTOFREE(char *) buf = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) tmp = NULL; + g_autoptr(virStorageSource) tmp = NULL; *backing = NULL; diff --git a/src/util/virstoragefile.h b/src/util/virstoragefile.h index cfee047e6f..b4eca6448d 100644 --- a/src/util/virstoragefile.h +++ b/src/util/virstoragefile.h @@ -21,8 +21,10 @@ #pragma once +#include <glib-object.h> #include <sys/stat.h> +#include "internal.h" #include "virbitmap.h" #include "virobject.h" #include "virseclabel.h" @@ -234,7 +236,9 @@ struct _virStorageSourceInitiatorDef { typedef struct _virStorageDriverData virStorageDriverData; typedef virStorageDriverData *virStorageDriverDataPtr; -typedef struct _virStorageSource virStorageSource; +#define VIR_TYPE_STORAGESOURCE vir_storagesource_get_type() +G_DECLARE_FINAL_TYPE(virStorageSource, vir_storagesource, VIR, STORAGESOURCE, GObject); + typedef virStorageSource *virStorageSourcePtr; /* Stores information related to a host resource. In the case of backing @@ -243,7 +247,7 @@ typedef virStorageSource *virStorageSourcePtr; * IMPORTANT: When adding fields to this struct it's also necessary to add * appropriate code to the virStorageSourceCopy deep copy function */ struct _virStorageSource { - virObject parent; + GObject parent; unsigned int id; /* backing chain identifier, 0 is unset */ int type; /* virStorageType */ @@ -344,7 +348,6 @@ struct _virStorageSource { bool hostcdrom; /* backing device is a cdrom */ }; -G_DEFINE_AUTOPTR_CLEANUP_FUNC(virStorageSource, virObjectUnref); #ifndef DEV_BSIZE diff --git a/tests/qemublocktest.c b/tests/qemublocktest.c index bb0579056e..cd4d0edf45 100644 --- a/tests/qemublocktest.c +++ b/tests/qemublocktest.c @@ -54,8 +54,8 @@ testBackingXMLjsonXML(const void *args) VIR_AUTOFREE(char *) propsstr = NULL; VIR_AUTOFREE(char *) protocolwrapper = NULL; VIR_AUTOFREE(char *) actualxml = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) xmlsrc = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) jsonsrc = NULL; + g_autoptr(virStorageSource) xmlsrc = NULL; + g_autoptr(virStorageSource) jsonsrc = NULL; if (!(xmlsrc = virStorageSourceNew())) return -1; @@ -400,7 +400,7 @@ testQemuImageCreate(const void *opaque) struct testQemuImageCreateData *data = (void *) opaque; VIR_AUTOPTR(virJSONValue) protocolprops = NULL; VIR_AUTOPTR(virJSONValue) formatprops = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) src = NULL; + g_autoptr(virStorageSource) src = NULL; VIR_AUTOCLEAN(virBuffer) debug = VIR_BUFFER_INITIALIZER; VIR_AUTOCLEAN(virBuffer) actualbuf = VIR_BUFFER_INITIALIZER; VIR_AUTOFREE(char *) jsonprotocol = NULL; diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c index 8ebad89da7..f178e66781 100644 --- a/tests/virstoragetest.c +++ b/tests/virstoragetest.c @@ -86,7 +86,7 @@ testStorageFileGetMetadata(const char *path, { struct stat st; virStorageSourcePtr ret = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) def = NULL; + g_autoptr(virStorageSource) def = NULL; if (!(def = virStorageSourceNew())) return NULL; @@ -278,7 +278,7 @@ testStorageChain(const void *args) const struct testChainData *data = args; virStorageSourcePtr elt; size_t i = 0; - VIR_AUTOUNREF(virStorageSourcePtr) meta = NULL; + g_autoptr(virStorageSource) meta = NULL; VIR_AUTOFREE(char *) broken = NULL; meta = testStorageFileGetMetadata(data->start, data->format, -1, -1); @@ -612,7 +612,7 @@ testBackingParse(const void *args) const struct testBackingParseData *data = args; VIR_AUTOCLEAN(virBuffer) buf = VIR_BUFFER_INITIALIZER; VIR_AUTOFREE(char *) xml = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) src = NULL; + g_autoptr(virStorageSource) src = NULL; int rc; int erc = data->rv; @@ -664,7 +664,7 @@ mymain(void) virStorageSourcePtr chain2; /* short for chain->backingStore */ virStorageSourcePtr chain3; /* short for chain2->backingStore */ VIR_AUTOPTR(virCommand) cmd = NULL; - VIR_AUTOUNREF(virStorageSourcePtr) chain = NULL; + g_autoptr(virStorageSource) chain = NULL; if (storageRegisterAll() < 0) return EXIT_FAILURE; @@ -1056,7 +1056,7 @@ mymain(void) ret = -1; /* Test behavior of chain lookups, relative backing from absolute start */ - virObjectUnref(chain); + g_object_unref(chain); chain = testStorageFileGetMetadata(abswrap, VIR_STORAGE_FILE_QCOW2, -1, -1); if (!chain) { ret = -1; @@ -1102,7 +1102,7 @@ mymain(void) ret = -1; /* Test behavior of chain lookups, relative backing */ - virObjectUnref(chain); + g_object_unref(chain); chain = testStorageFileGetMetadata("sub/link2", VIR_STORAGE_FILE_QCOW2, -1, -1); if (!chain) { -- 2.21.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list