[libvirt] [PATCH] Free object after *Destroy in python bindings

Richard W.M. Jones rjones at redhat.com
Tue May 20 12:20:17 UTC 2008


On Tue, May 20, 2008 at 12:58:15PM +0100, Daniel P. Berrange wrote:
> On Tue, May 20, 2008 at 10:51:43AM +0100, Richard W.M. Jones wrote:
> > On Mon, May 19, 2008 at 09:25:55PM +0100, Daniel P. Berrange wrote:
> > > The docs are wrong. Destory merely hard-kills the object being managed.
> > > It does not free memory associated with the object.
> > 
> > No, the documentation says it frees the objects (and has done
> > forever), so it should free them.  I have code which depends on this
> > behaviour.
> 
> It depends on behaviour which does *not* exist  so is already broken. With
> inactive domains free'ing the object after destroy is non-sensical because
> the domain still exists, merely in the shutoff state.

If 'implements correctly the documented API' is 'broken', well then ...

I looked back at an old implementation of libvirt (June '07) just to
see what the behaviour used to be.  Note virDomainUndefine &
virNetworkUndefine (oops!):

			xen		qemu		test
----------------------------------------------------------------------
virDomainDestroy	no		no		no
virNetworkDestroy	no		no		no
virDomainUndefine	no		frees		no
virNetworkDestroy	no		no		no
virNetworkUndefine	no		frees		no

For comparison in current CVS none of those calls free the object.

So this change is safe.

Rich.

-- 
Richard Jones, Emerging Technologies, Red Hat  http://et.redhat.com/~rjones
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top




More information about the libvir-list mailing list