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