[libvirt] [PATCH 11/19] storage: Introduce virStoragePoolObjNew
John Ferlan
jferlan at redhat.com
Thu Jul 13 21:51:46 UTC 2017
On 07/11/2017 11:17 AM, Pavel Hrdina wrote:
> On Tue, May 09, 2017 at 11:30:18AM -0400, John Ferlan wrote:
>> Create/use a helper to perform object allocation.
>>
>> Signed-off-by: John Ferlan <jferlan at redhat.com>
>> ---
>> src/conf/virstorageobj.c | 34 +++++++++++++++++++++++-----------
>> 1 file changed, 23 insertions(+), 11 deletions(-)
>>
>> diff --git a/src/conf/virstorageobj.c b/src/conf/virstorageobj.c
>> index 7d6b311..0079472 100644
>> --- a/src/conf/virstorageobj.c
>> +++ b/src/conf/virstorageobj.c
>> @@ -37,6 +37,27 @@
>> VIR_LOG_INIT("conf.virstorageobj");
>>
>>
>> +static virStoragePoolObjPtr
>> +virStoragePoolObjNew(virStoragePoolDefPtr def)
>> +{
>> + virStoragePoolObjPtr obj;
>> +
>> + if (VIR_ALLOC(obj) < 0)
>> + return NULL;
>> +
>> + if (virMutexInit(&obj->lock) < 0) {
>> + virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>> + _("cannot initialize mutex"));
>> + VIR_FREE(obj);
>> + return NULL;
>> + }
>> + virStoragePoolObjLock(obj);
>> + obj->active = 0;
>> + obj->def = def;
>> + return obj;
>> +}
>> +
>> +
>> virStoragePoolDefPtr
>> virStoragePoolObjGetDef(virStoragePoolObjPtr obj)
>> {
>> @@ -386,24 +407,15 @@ virStoragePoolObjAssignDef(virStoragePoolObjListPtr pools,
>> return obj;
>> }
>>
>> - if (VIR_ALLOC(obj) < 0)
>> + if (!(obj = virStoragePoolObjNew(def)))
>> return NULL;
>
> The new virStoragePoolObjNew() doesn't have to take @def and ...
>
>>
>> - if (virMutexInit(&obj->lock) < 0) {
>> - virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>> - _("cannot initialize mutex"));
>> - VIR_FREE(obj);
>> - return NULL;
>> - }
>> - virStoragePoolObjLock(obj);
>> - obj->active = 0;
>> -
>> if (VIR_APPEND_ELEMENT_COPY(pools->objs, pools->count, obj) < 0) {
>> + obj->def = NULL;
>
> ... need to set the @obj->def to NULL and ...
>
>> virStoragePoolObjUnlock(obj);
>> virStoragePoolObjFree(obj);
>> return NULL;
>> }
>> - obj->def = def;
>
> ... just keep this line as it is.
>
True... Again these are patches that I know I'm going to have to rework
anyway to fit whatever virObject* gets created.
John
>>
>> return obj;
>> }
>> --
>> 2.9.3
>>
>> --
>> libvir-list mailing list
>> libvir-list at redhat.com
>> https://www.redhat.com/mailman/listinfo/libvir-list
More information about the libvir-list
mailing list