Use the new accessor APIs for storage_driver and test_driver.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/storage/storage_backend_scsi.c | 4 +++-
src/storage/storage_driver.c | 14 +++++++-------
src/test/test_driver.c | 20 ++++++++++++--------
3 files changed, 22 insertions(+), 16 deletions(-)
diff --git a/src/storage/storage_backend_scsi.c b/src/storage/storage_backend_scsi.c
index 575e6a6..02fd4b6 100644
--- a/src/storage/storage_backend_scsi.c
+++ b/src/storage/storage_backend_scsi.c
@@ -443,8 +443,10 @@ static int
virStorageBackendSCSIStartPool(virConnectPtr conn,
virStoragePoolObjPtr pool)
{
+ const char *configFile = virStoragePoolObjGetConfigFile(pool);
+
if (pool->def->source.adapter.type == VIR_STORAGE_ADAPTER_TYPE_FC_HOST)
- return createVport(conn, pool->def, pool->configFile,
+ return createVport(conn, pool->def, configFile,
&pool->def->source.adapter.data.fchost);
return 0;
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index b780f9a..7b1396f 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -91,7 +91,7 @@ virStoragePoolUpdateInactive(virStoragePoolObjPtr *objptr)
{
virStoragePoolObjPtr obj = *objptr;
- if (obj->configFile == NULL) {
+ if (!virStoragePoolObjGetConfigFile(obj)) {
virStoragePoolObjRemove(&driver->pools, obj);
*objptr = NULL;
} else if (obj->newDef) {
@@ -643,7 +643,7 @@ storagePoolIsPersistent(virStoragePoolPtr pool)
if (virStoragePoolIsPersistentEnsureACL(pool->conn, obj->def) < 0)
goto cleanup;
- ret = obj->configFile ? 1 : 0;
+ ret = virStoragePoolObjGetConfigFile(obj) ? 1 : 0;
cleanup:
virStoragePoolObjUnlock(obj);
@@ -849,7 +849,6 @@ storagePoolUndefine(virStoragePoolPtr pool)
obj->autostartLink, virStrerror(errno, ebuf, sizeof(ebuf)));
}
- VIR_FREE(obj->configFile);
VIR_FREE(obj->autostartLink);
event = virStoragePoolEventLifecycleNew(obj->def->name,
@@ -1250,7 +1249,7 @@ storagePoolGetAutostart(virStoragePoolPtr pool,
if (virStoragePoolGetAutostartEnsureACL(pool->conn, obj->def) < 0)
goto cleanup;
- if (!obj->configFile) {
+ if (!virStoragePoolObjGetConfigFile(obj)) {
*autostart = 0;
} else {
*autostart = obj->autostart;
@@ -1268,6 +1267,7 @@ storagePoolSetAutostart(virStoragePoolPtr pool,
int autostart)
{
virStoragePoolObjPtr obj;
+ const char *configFile;
int ret = -1;
storageDriverLock();
@@ -1277,7 +1277,7 @@ storagePoolSetAutostart(virStoragePoolPtr pool,
if (virStoragePoolSetAutostartEnsureACL(pool->conn, obj->def) < 0)
goto cleanup;
- if (!obj->configFile) {
+ if (!(configFile = virStoragePoolObjGetConfigFile(obj))) {
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("pool has no config file"));
goto cleanup;
@@ -1294,10 +1294,10 @@ storagePoolSetAutostart(virStoragePoolPtr pool,
goto cleanup;
}
- if (symlink(obj->configFile, obj->autostartLink) < 0) {
+ if (symlink(configFile, obj->autostartLink) < 0) {
virReportSystemError(errno,
_("Failed to create symlink '%s' to
'%s'"),
- obj->autostartLink, obj->configFile);
+ obj->autostartLink, configFile);
goto cleanup;
}
} else {
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 67b115f..36e5ba1 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -4056,12 +4056,17 @@ testInterfaceDestroy(virInterfacePtr iface,
static int
testStoragePoolObjSetDefaults(virStoragePoolObjPtr obj)
{
+ char *configFile;
obj->def->capacity = defaultPoolCap;
obj->def->allocation = defaultPoolAlloc;
obj->def->available = defaultPoolCap - defaultPoolAlloc;
- return VIR_STRDUP(obj->configFile, "");
+ if (VIR_STRDUP(configFile, "") < 0)
+ return -1;
+
+ virStoragePoolObjSetConfigFile(obj, configFile);
+ return 0;
}
@@ -4303,7 +4308,7 @@ testStoragePoolIsPersistent(virStoragePoolPtr pool)
if (!(obj = testStoragePoolObjFindByUUID(privconn, pool->uuid)))
return -1;
- ret = obj->configFile ? 1 : 0;
+ ret = virStoragePoolObjGetConfigFile(obj) ? 1 : 0;
virStoragePoolObjUnlock(obj);
return ret;
@@ -4469,7 +4474,7 @@ testStoragePoolCreateXML(virConnectPtr conn,
/* *SetDefaults fills this in for the persistent pools, but this
* would be a transient pool so remove it; otherwise, the Destroy
* code will not Remove the pool */
- VIR_FREE(obj->configFile);
+ virStoragePoolObjSetConfigFile(obj, NULL);
obj->active = true;
@@ -4634,7 +4639,7 @@ testStoragePoolDestroy(virStoragePoolPtr pool)
VIR_STORAGE_POOL_EVENT_STOPPED,
0);
- if (obj->configFile == NULL) {
+ if (!(virStoragePoolObjGetConfigFile(obj))) {
virStoragePoolObjRemove(&privconn->pools, obj);
obj = NULL;
}
@@ -4740,11 +4745,10 @@ testStoragePoolGetAutostart(virStoragePoolPtr pool,
if (!(obj = testStoragePoolObjFindByName(privconn, pool->name)))
return -1;
- if (!obj->configFile) {
+ if (!virStoragePoolObjGetConfigFile(obj))
*autostart = 0;
- } else {
+ else
*autostart = obj->autostart;
- }
virStoragePoolObjUnlock(obj);
return 0;
@@ -4762,7 +4766,7 @@ testStoragePoolSetAutostart(virStoragePoolPtr pool,
if (!(obj = testStoragePoolObjFindByName(privconn, pool->name)))
return -1;
- if (!obj->configFile) {
+ if (!virStoragePoolObjGetConfigFile(obj)) {
virReportError(VIR_ERR_INVALID_ARG,
"%s", _("pool has no config file"));
goto cleanup;
--
2.9.5