[libvirt] [PATCH 0/1] Fix pool create when pool already exists

Dave Allan dallan at redhat.com
Wed Jul 1 14:02:21 UTC 2009


Daniel P. Berrange wrote:
> On Wed, Jul 01, 2009 at 11:02:08AM +0200, Daniel Veillard wrote:
>> On Tue, Jun 30, 2009 at 04:22:37PM -0400, David Allan wrote:
>>> When storagePoolCreate is called to define a pool that already exists, it mistakenly destroys the existing pool.  This patch fixes the problem.  
>>   Hum, I tried to assert the level of damage this bug generates and
>> I have been surprized by the following:
>>
>> virsh # pool-create /tmp/pool.xml
>> Pool testpool created from /tmp/pool.xml
>>
>> virsh # pool-list
>> Name                 State      Autostart
>> -----------------------------------------
>> testpool             active     no
>>
>> virsh # pool-create /tmp/pool.xml
>> error: Failed to create pool from /tmp/pool.xml
>> error: internal error storage pool already exists
>>
>> virsh # pool-list
>> Name                 State      Autostart
>> -----------------------------------------
>> testpool             active     no
>>
>> virsh #
>>
>>   I.e. on an unpatched libvirtd, I can hit the error, but the pool still
>> shows up, so I'm wondering what's the effect of the 
>>   virStoragePoolObjRemove(&driver->pools, pool);
>> that we are avoiding here... it should remove the pool from the list,
>> but I'm not seeing this, so I'm a bit puzzled...
> 
> What version of libvirt are you running ?  This bug was fairly 
> recently introduced - it doesn't hit F11 libvirt, but does hit
> current CVS when I try your steps. (ie 'testpool' disappears)

Yes, it went in 2009-06-22, so it would have to be very recent code to 
hit it, and it does happen 100% of the time.

Dave




More information about the libvir-list mailing list