{
qemuDomainObjPrivatePtr priv = vm->privateData;
virHashTablePtr disktable = NULL;
- virJSONValuePtr data = NULL;
- virJSONValuePtr blockstats = NULL;
+ VIR_AUTOPTR(virJSONValue) data = NULL;
+ VIR_AUTOPTR(virJSONValue) blockstats = NULL;
virDomainDiskDefPtr disk;
size_t i;
int ret = -1;
ret = 0;
cleanup:
- virJSONValueFree(data);
- virJSONValueFree(blockstats);
virHashFree(disktable);
return ret;
qemuBlockStorageSourceBuildJSONSocketAddress(virStorageNetHostDefPtr host,
bool legacy)
{
- virJSONValuePtr server = NULL;
+ VIR_AUTOPTR(virJSONValue) server = NULL;
virJSONValuePtr ret = NULL;
const char *transport;
const char *field;
cleanup:
VIR_FREE(port);
- virJSONValueFree(server);
return ret;
}
qemuBlockStorageSourceBuildHostsJSONSocketAddress(virStorageSourcePtr src,
bool legacy)
{
- virJSONValuePtr servers = NULL;
- virJSONValuePtr server = NULL;
+ VIR_AUTOPTR(virJSONValue) servers = NULL;
+ VIR_AUTOPTR(virJSONValue) server = NULL;
virJSONValuePtr ret = NULL;
virStorageNetHostDefPtr host;
size_t i;
VIR_STEAL_PTR(ret, servers);
cleanup:
- virJSONValueFree(servers);
- virJSONValueFree(server);
return ret;
}
static virJSONValuePtr
qemuBlockStorageSourceBuildHostsJSONInetSocketAddress(virStorageSourcePtr src)
{
- virJSONValuePtr servers = NULL;
- virJSONValuePtr server = NULL;
+ VIR_AUTOPTR(virJSONValue) servers = NULL;
+ VIR_AUTOPTR(virJSONValue) server = NULL;
virJSONValuePtr ret = NULL;
virStorageNetHostDefPtr host;
size_t i;
VIR_STEAL_PTR(ret, servers);
cleanup:
- virJSONValueFree(servers);
- virJSONValueFree(server);
return ret;
}
qemuBlockStorageSourceGetGlusterProps(virStorageSourcePtr src,
bool legacy)
{
- virJSONValuePtr servers = NULL;
- virJSONValuePtr props = NULL;
+ VIR_AUTOPTR(virJSONValue) servers = NULL;
+ VIR_AUTOPTR(virJSONValue) props = NULL;
virJSONValuePtr ret = NULL;
if (!(servers = qemuBlockStorageSourceBuildHostsJSONSocketAddress(src, legacy)))
VIR_STEAL_PTR(ret, props);
cleanup:
- virJSONValueFree(servers);
- virJSONValueFree(props);
return ret;
}
qemuBlockStorageSourceGetVxHSProps(virStorageSourcePtr src)
{
const char *protocol = virStorageNetProtocolTypeToString(src->protocol);
- virJSONValuePtr server = NULL;
+ VIR_AUTOPTR(virJSONValue) server = NULL;
virJSONValuePtr ret = NULL;
if (src->nhosts != 1) {
* vdisk-id:"eb90327c-8302-4725-4e85ed4dc251",
* server:{type:"tcp", host:"1.2.3.4", port:9999}}
*/
- if (virJSONValueObjectCreate(&ret,
- "s:driver", protocol,
- "S:tls-creds", src->tlsAlias,
- "s:vdisk-id", src->path,
- "a:server", &server, NULL) < 0)
- virJSONValueFree(server);
+ ignore_value(virJSONValueObjectCreate(&ret,
+ "s:driver", protocol,
+ "S:tls-creds", src->tlsAlias,
+ "s:vdisk-id", src->path,
+ "a:server", &server, NULL));
return ret;
}
static virJSONValuePtr
qemuBlockStorageSourceGetNBDProps(virStorageSourcePtr src)
{
- virJSONValuePtr serverprops;
+ VIR_AUTOPTR(virJSONValue) serverprops = NULL;
virJSONValuePtr ret = NULL;
if (src->nhosts != 1) {
goto cleanup;
cleanup:
- virJSONValueFree(serverprops);
return ret;
}
qemuBlockStorageSourceGetRBDProps(virStorageSourcePtr src)
{
qemuDomainStorageSourcePrivatePtr srcPriv = QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(src);
- virJSONValuePtr servers = NULL;
+ VIR_AUTOPTR(virJSONValue) servers = NULL;
virJSONValuePtr ret = NULL;
const char *username = NULL;
- virJSONValuePtr authmodes = NULL;
- virJSONValuePtr mode = NULL;
+ VIR_AUTOPTR(virJSONValue) authmodes = NULL;
+ VIR_AUTOPTR(virJSONValue) mode = NULL;
const char *keysecret = NULL;
if (src->nhosts > 0 &&
goto cleanup;
cleanup:
- virJSONValueFree(authmodes);
- virJSONValueFree(mode);
- virJSONValueFree(servers);
return ret;
}
static virJSONValuePtr
qemuBlockStorageSourceGetSheepdogProps(virStorageSourcePtr src)
{
- virJSONValuePtr serverprops;
+ VIR_AUTOPTR(virJSONValue) serverprops = NULL;
virJSONValuePtr ret = NULL;
if (src->nhosts != 1) {
goto cleanup;
cleanup:
- virJSONValueFree(serverprops);
return ret;
}
static virJSONValuePtr
qemuBlockStorageSourceGetSshProps(virStorageSourcePtr src)
{
- virJSONValuePtr serverprops;
+ VIR_AUTOPTR(virJSONValue) serverprops = NULL;
virJSONValuePtr ret = NULL;
const char *username = NULL;
goto cleanup;
cleanup:
- virJSONValueFree(serverprops);
return ret;
}
qemuBlockStorageSourceGetBlockdevGetCacheProps(virStorageSourcePtr src,
virJSONValuePtr props)
{
- virJSONValuePtr cacheobj;
+ VIR_AUTOPTR(virJSONValue) cacheobj = NULL;
bool direct = false;
bool noflush = false;
NULL) < 0)
return -1;
- if (virJSONValueObjectAppend(props, "cache", cacheobj) < 0) {
- virJSONValueFree(cacheobj);
+ if (virJSONValueObjectAppend(props, "cache", cacheobj) < 0)
return -1;
- }
+ cacheobj = NULL;
return 0;
}
bool legacy)
{
int actualType = virStorageSourceGetActualType(src);
- virJSONValuePtr fileprops = NULL;
+ VIR_AUTOPTR(virJSONValue) fileprops = NULL;
virJSONValuePtr ret = NULL;
switch ((virStorageType)actualType) {
VIR_STEAL_PTR(ret, fileprops);
cleanup:
- virJSONValueFree(fileprops);
return ret;
}
const char *format,
virJSONValuePtr props)
{
- virJSONValuePtr encprops = NULL;
+ VIR_AUTOPTR(virJSONValue) encprops = NULL;
int ret = -1;
if (qemuBlockStorageSourceGetCryptoProps(src, &encprops) < 0)
ret = 0;
cleanup:
- virJSONValueFree(encprops);
return ret;
}
const char *discard = NULL;
int detectZeroesMode = virDomainDiskGetDetectZeroesMode(src->discard,
src->detect_zeroes);
- virJSONValuePtr props = NULL;
+ VIR_AUTOPTR(virJSONValue) props = NULL;
virJSONValuePtr ret = NULL;
if (qemuBlockNodeNameValidate(src->nodeformat) < 0)
VIR_STEAL_PTR(ret, props);
cleanup:
- virJSONValueFree(props);
return ret;
}
qemuBlockStorageSourceGetBlockdevFormatProps(virStorageSourcePtr src)
{
const char *driver = NULL;
- virJSONValuePtr props = NULL;
+ VIR_AUTOPTR(virJSONValue) props = NULL;
virJSONValuePtr ret = NULL;
if (!(props = qemuBlockStorageSourceGetBlockdevFormatCommonProps(src)))
VIR_STEAL_PTR(ret, props);
cleanup:
- virJSONValueFree(props);
return ret;
}
qemuBlockStorageSourceGetBlockdevProps(virStorageSourcePtr src)
{
bool backingSupported = src->format >= VIR_STORAGE_FILE_BACKING;
- virJSONValuePtr props = NULL;
+ VIR_AUTOPTR(virJSONValue) props = NULL;
virJSONValuePtr ret = NULL;
if (virStorageSourceHasBacking(src) && !backingSupported) {
VIR_STEAL_PTR(ret, props);
cleanup:
- virJSONValueFree(props);
return ret;
}