On Wed, Jul 01, 2009 at 10:23:45AM +0100, 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)
Hum, I tried an updated RHEL build, that could be the reason, it
appplied fine though and the code was looking similar, I must have
missed something ...
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/