[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