[libvirt] UML driver struct refers to public API functions

Hi, The commit "Generic shared impls of all NUMA apis" (b0b968efd56f6c66bfa23eebbecd491ea993f99b) changed the UML driver struct to use the shared NUMA API. But now the UML driver struct refers to the public API functions: virNodeGetCellsFreeMemory virNodeGetFreeMemory instead of the shared NUMA API functions nodeGetCellsFreeMemory nodeGetFreeMemory This results in an infinite recursion, if someone's going to call virNodeGetCellsFreeMemory with an UML connection. Matthias

On Sat, Aug 22, 2009 at 10:04:30PM +0200, Matthias Bolte wrote:
Hi,
The commit "Generic shared impls of all NUMA apis" (b0b968efd56f6c66bfa23eebbecd491ea993f99b) changed the UML driver struct to use the shared NUMA API. But now the UML driver struct refers to the public API functions:
virNodeGetCellsFreeMemory virNodeGetFreeMemory
instead of the shared NUMA API functions
nodeGetCellsFreeMemory nodeGetFreeMemory
This results in an infinite recursion, if someone's going to call virNodeGetCellsFreeMemory with an UML connection.
Opps, that's a bit of a nasty bug. Clearly need to add these APis to the libvirt-TCK tests 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 :|

On Mon, Aug 24, 2009 at 02:13:07PM +0100, Daniel P. Berrange wrote:
On Sat, Aug 22, 2009 at 10:04:30PM +0200, Matthias Bolte wrote:
Hi,
The commit "Generic shared impls of all NUMA apis" (b0b968efd56f6c66bfa23eebbecd491ea993f99b) changed the UML driver struct to use the shared NUMA API. But now the UML driver struct refers to the public API functions:
virNodeGetCellsFreeMemory virNodeGetFreeMemory
instead of the shared NUMA API functions
nodeGetCellsFreeMemory nodeGetFreeMemory
This results in an infinite recursion, if someone's going to call virNodeGetCellsFreeMemory with an UML connection.
Opps, that's a bit of a nasty bug. Clearly need to add these APis to the libvirt-TCK tests
Apparently the bug seems fixed in git: static virDriver umlDriver = { ... NULL, /* domainMemoryPeek */ nodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */ nodeGetFreeMemory, /* getFreeMemory */ NULL, /* domainEventRegister */ so issue seems solved now. Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/

2009/9/2 Daniel Veillard <veillard@redhat.com>:
On Mon, Aug 24, 2009 at 02:13:07PM +0100, Daniel P. Berrange wrote:
On Sat, Aug 22, 2009 at 10:04:30PM +0200, Matthias Bolte wrote:
Hi,
The commit "Generic shared impls of all NUMA apis" (b0b968efd56f6c66bfa23eebbecd491ea993f99b) changed the UML driver struct to use the shared NUMA API. But now the UML driver struct refers to the public API functions:
virNodeGetCellsFreeMemory virNodeGetFreeMemory
instead of the shared NUMA API functions
nodeGetCellsFreeMemory nodeGetFreeMemory
This results in an infinite recursion, if someone's going to call virNodeGetCellsFreeMemory with an UML connection.
Opps, that's a bit of a nasty bug. Clearly need to add these APis to the libvirt-TCK tests
Apparently the bug seems fixed in git:
static virDriver umlDriver = { ... NULL, /* domainMemoryPeek */ nodeGetCellsFreeMemory, /* nodeGetCellsFreeMemory */ nodeGetFreeMemory, /* getFreeMemory */ NULL, /* domainEventRegister */
so issue seems solved now.
Daniel
Yes, Daniel P. Berrange fixed it 6 days ago in commit 83af0508007d787e74a57a1fca290f632a58dda7, but he didn't mention it on the mailing list. Matthias
participants (3)
-
Daniel P. Berrange
-
Daniel Veillard
-
Matthias Bolte