There is no need for this function to call
virStoragePoolObjEndAPI(). The object is perfectly usable after
return from this function. In fact, all callers will call
virStoragePoolObjEndAPI() eventually.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/storage/storage_driver.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index 4d26c94e66..5d3ab1b25f 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -112,20 +112,17 @@ storagePoolRefreshImpl(virStorageBackendPtr backend,
/**
* virStoragePoolUpdateInactive:
- * @objptr: pointer to a variable holding the pool object pointer
+ * @obj: pool object
*
* This function is supposed to be called after a pool becomes inactive. The
* function switches to the new config object for persistent pools. Inactive
* pools are removed.
*/
static void
-virStoragePoolUpdateInactive(virStoragePoolObjPtr *objptr)
+virStoragePoolUpdateInactive(virStoragePoolObjPtr obj)
{
- virStoragePoolObjPtr obj = *objptr;
-
if (!virStoragePoolObjGetConfigFile(obj)) {
virStoragePoolObjRemove(driver->pools, obj);
- virStoragePoolObjEndAPI(objptr);
} else if (virStoragePoolObjGetNewDef(obj)) {
virStoragePoolObjDefUseNewDef(obj);
}
@@ -176,7 +173,7 @@ storagePoolUpdateStateCallback(virStoragePoolObjPtr obj,
virStoragePoolObjSetActive(obj, active);
if (!virStoragePoolObjIsActive(obj))
- virStoragePoolUpdateInactive(&obj);
+ virStoragePoolUpdateInactive(obj);
return;
}
@@ -1076,7 +1073,7 @@ storagePoolDestroy(virStoragePoolPtr pool)
virStoragePoolObjSetActive(obj, false);
- virStoragePoolUpdateInactive(&obj);
+ virStoragePoolUpdateInactive(obj);
ret = 0;
@@ -1194,7 +1191,7 @@ storagePoolRefresh(virStoragePoolPtr pool,
0);
virStoragePoolObjSetActive(obj, false);
- virStoragePoolUpdateInactive(&obj);
+ virStoragePoolUpdateInactive(obj);
goto cleanup;
}
--
2.21.0