On Mon, Jan 26, 2009 at 10:50:32AM +0000, Richard W.M. Jones wrote:
On Thu, Jan 22, 2009 at 07:13:47PM +0000, Daniel P. Berrange wrote:
> On Thu, Jan 22, 2009 at 08:09:51PM +0100, Jim Meyering wrote:
> > Merge error?
> > I'll commit this in an hour or so.
>
> Go for it - how did you notice it ? Just luck ?
>
> This is why I want to get my previous CIL locking test program integrated
> into the 'make check' somehow - or at least a separate 'make
lockcheck'
> rule
I'm getting a patch ready for this.
A few things are blocking it at the moment. As I mentioned on IRC,
there is a licensing problem with the OCaml autoconf macros:
http://caml.inria.fr/pub/ml-archives/caml-list/2009/01/233b0823ddc93b9990...
This should be resolved this week.
The other thing is I found a few bugs in the code which I'm trying to
understand. This CIL stuff is bloody complicated and obscure ...
There are certainly some bugs in there - I'm far from convinced that I
got for/while loop handling correctly implemented. It also does not
track locks across variable assignments / aliasing.
eg if you have
virDomainObjPtr dom = NULL;
virDomainObjLock(driver->domains[0]);
dom = driver->domains[0];
...do something with 'dom'....
It will complain that 'dom' is used while unlocked, because it does not
track that 'driver->domains[0]' is the same as 'dom' in this context.
It wouldn't be too much more work to make that work better, but I didn't
bother at the time, because this scenario only occurred in one place
in the libvirt code I was checking at the time.
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 :|