[libvirt] [PATCH] Fix pool define crash

Cole Robinson crobinso at redhat.com
Mon Dec 22 16:30:38 UTC 2008


Daniel P. Berrange wrote:
> On Wed, Dec 17, 2008 at 09:26:51PM +0100, Chris Lalancette wrote:
>   
>> Cole Robinson wrote:
>>     
>>> Ahh, I didn't realize the AssignDef caveat. Thanks for pointing that
>>> out. Something like this should work then?
>>>       
>>> diff --git a/src/storage_driver.c b/src/storage_driver.c
>>> index 2432a9a..330317c 100644
>>> --- a/src/storage_driver.c
>>> +++ b/src/storage_driver.c
>>> @@ -544,12 +544,13 @@ storagePoolDefine(virConnectPtr conn,
>>>  
>>>      if (!(pool = virStoragePoolObjAssignDef(conn, &driver->pools, def)))
>>>          goto cleanup;
>>> -    def = NULL;
>>>  
>>>      if (virStoragePoolObjSaveDef(conn, driver, pool, def) < 0) {
>>>          virStoragePoolObjRemove(&driver->pools, pool);
>>> +        def = NULL;
>>>          goto cleanup;
>>>      }
>>> +    def = NULL;
>>>  
>>>      ret = virGetStoragePool(conn, pool->def->name, pool->def->uuid);
>>>  
>>>       
>> Yeah, that looks better.  Seems to be good to me, so ACK.
>>     
>
> Functionally correct, so fine to commit, but I still think we should
> change the virStoragePoolObjSaveDef method params, but not urgent unless
> you want to change it now.
>
> Daniel
>   

I opted just to commit the above fix. We can address the API issue later.

Thanks,
Cole




More information about the libvir-list mailing list