qemuBlockStorageSourceAttachDataPtr
qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src)
{
- qemuBlockStorageSourceAttachDataPtr data;
+ VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL;
qemuBlockStorageSourceAttachDataPtr ret = NULL;
if (VIR_ALLOC(data) < 0)
VIR_STEAL_PTR(ret, data);
cleanup:
- qemuBlockStorageSourceAttachDataFree(data);
return ret;
}
void
qemuBlockStorageSourceAttachDataFree(qemuBlockStorageSourceAttachDataPtr data);
+VIR_DEFINE_AUTOPTR_FUNC(qemuBlockStorageSourceAttachData,
+ qemuBlockStorageSourceAttachDataFree);
+
qemuBlockStorageSourceAttachDataPtr
qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src);
{
qemuBlockStorageSourceAttachDataPtr *data = NULL;
size_t ndata = 0;
- qemuBlockStorageSourceAttachDataPtr tmp = NULL;
+ VIR_AUTOPTR(qemuBlockStorageSourceAttachData) tmp = NULL;
virJSONValuePtr copyOnReadProps = NULL;
virStorageSourcePtr n;
char *str = NULL;
for (i = 0; i < ndata; i++)
qemuBlockStorageSourceAttachDataFree(data[i]);
VIR_FREE(data);
- qemuBlockStorageSourceAttachDataFree(tmp);
virJSONValueFree(copyOnReadProps);
VIR_FREE(str);
return ret;
qemuBuildStorageSourceAttachPrepareDrive(virDomainDiskDefPtr disk,
virQEMUCapsPtr qemuCaps)
{
- qemuBlockStorageSourceAttachDataPtr data = NULL;
+ VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL;
+ qemuBlockStorageSourceAttachDataPtr ret = NULL;
if (VIR_ALLOC(data) < 0)
return NULL;
if (!(data->driveCmd = qemuBuildDriveStr(disk, qemuCaps)) ||
- !(data->driveAlias = qemuAliasDiskDriveFromDisk(disk))) {
- qemuBlockStorageSourceAttachDataFree(data);
+ !(data->driveAlias = qemuAliasDiskDriveFromDisk(disk)))
return NULL;
- }
- return data;
+ VIR_STEAL_PTR(ret, data);
+
+ return ret;
}
{
qemuDomainStorageSourcePrivatePtr srcpriv = QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(src);
- qemuBlockStorageSourceAttachDataPtr data;
+ VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL;
qemuBlockStorageSourceAttachDataPtr ret = NULL;
if (VIR_ALLOC(data) < 0)
cleanup:
VIR_FREE(driveAlias);
- qemuBlockStorageSourceAttachDataFree(data);
return ret;
}
virQEMUCapsPtr qemuCaps)
{
qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
- qemuBlockStorageSourceAttachDataPtr backend = NULL;
+ VIR_AUTOPTR(qemuBlockStorageSourceAttachData) backend = NULL;
qemuHotplugDiskSourceDataPtr data = NULL;
qemuHotplugDiskSourceDataPtr ret = NULL;
char *drivealias = NULL;
VIR_STEAL_PTR(ret, data);
cleanup:
- qemuBlockStorageSourceAttachDataFree(backend);
qemuHotplugDiskSourceDataFree(data);
return ret;
}
virStorageSourcePtr src,
virQEMUCapsPtr qemuCaps)
{
- qemuBlockStorageSourceAttachDataPtr backend = NULL;
+ VIR_AUTOPTR(qemuBlockStorageSourceAttachData) backend = NULL;
qemuHotplugDiskSourceDataPtr data;
qemuHotplugDiskSourceDataPtr ret = NULL;
virStorageSourcePtr savesrc = NULL;
if (savesrc)
VIR_STEAL_PTR(disk->src, savesrc);
- qemuBlockStorageSourceAttachDataFree(backend);
qemuHotplugDiskSourceDataFree(data);
return ret;
}
unsigned int mirror_flags,
const char *tlsAlias)
{
- qemuBlockStorageSourceAttachDataPtr data = NULL;
+ VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL;
qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
int mon_ret = 0;
int ret = -1;
ret = 0;
cleanup:
- qemuBlockStorageSourceAttachDataFree(data);
return ret;
}