1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-20 07:59:00 +00:00

virStoragePoolObjListAdd: Separate out definition assignment

Separate storage pool definition assignment into a function.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Michal Privoznik 2019-05-24 16:35:43 +02:00
parent 8c04707058
commit bc281fec0f

View File

@ -1505,6 +1505,21 @@ virStoragePoolObjSourceFindDuplicate(virStoragePoolObjListPtr pools,
} }
static void
virStoragePoolObjAssignDef(virStoragePoolObjPtr obj,
virStoragePoolDefPtr def,
unsigned int flgs ATTRIBUTE_UNUSED)
{
if (!virStoragePoolObjIsActive(obj)) {
virStoragePoolDefFree(obj->def);
obj->def = def;
} else {
virStoragePoolDefFree(obj->newDef);
obj->newDef = def;
}
}
/** /**
* virStoragePoolObjListAdd: * virStoragePoolObjListAdd:
* @pools: Storage Pool object list pointer * @pools: Storage Pool object list pointer
@ -1540,13 +1555,7 @@ virStoragePoolObjListAdd(virStoragePoolObjListPtr pools,
if (rc < 0) if (rc < 0)
goto error; goto error;
if (rc > 0) { if (rc > 0) {
if (!virStoragePoolObjIsActive(obj)) { virStoragePoolObjAssignDef(obj, def, flags);
virStoragePoolDefFree(obj->def);
obj->def = def;
} else {
virStoragePoolDefFree(obj->newDef);
obj->newDef = def;
}
virObjectRWUnlock(pools); virObjectRWUnlock(pools);
return obj; return obj;
} }