On Fri, Jan 30, 2009 at 04:55:40PM +0100, Jim Meyering wrote:
"Daniel P. Berrange" <berrange(a)redhat.com> wrote:
> A recent change to keep the storage pools active upon shutdown, exposed a
> minor flaw in the code which free's a virStoragePoolObj instance. It
> never free's the associated volumes, since it presumed you'd never free
> a pool, which was still active. A bogus assumption, causing us to leak
> memory upon daemon shutdown, thus annoying valgrind.
>
> Daniel
>
> diff -r 3e95abd6df89 src/storage_conf.c
> --- a/src/storage_conf.c Fri Jan 30 11:01:10 2009 +0000
> +++ b/src/storage_conf.c Fri Jan 30 11:01:29 2009 +0000
> @@ -296,6 +296,8 @@ virStoragePoolObjFree(virStoragePoolObjP
> if (!obj)
> return;
>
> + virStoragePoolObjClearVols(obj);
> +
ACK.
This is crying for integration testing...
This scenario really ought to have been caught by tests of the storage
impl in test:///default driver - it could be that our impl in the
test driver is not complete enough.
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|