On Tue, Jun 17, 2008 at 11:16:31AM +0200, Chris Lalancette wrote:
Attached is a simple patch to fix a problem I ran into when using
the
ruby-libvirt bindings with libvirt 0.4.3. Basically, if you call any of the
virConnectList* functions with a "max" of 0, it returns "Invalid
Arg". To get
around this, modify the ruby-libvirt bindings to return an empty list if we get
num == 0 when calling the corresponding virConnectNumOf* function. This should
solve:
https://bugzilla.redhat.com/show_bug.cgi?id=451666
Hum, looking at the bugzilla it's for storage that the problem was raised.
It's a bit annoying, the main domain and network functions accept a max = 0
The documentation of virConnectListDefinedStoragePools doesn't prevent
maxnames = 0
Actually the check done in the function is
if ((names == NULL) || (maxnames < 0))
i.e. it allows 0, and pass it to the underlying driver. One solution
would be to just return 0 there, as attached in this patch, the other
solution would be to check which underlying storage driver failed and
fix it,
Daniel
--
Red Hat Virtualization group
http://redhat.com/virtualization/
Daniel Veillard | virtualization library
http://libvirt.org/
veillard(a)redhat.com | libxml GNOME XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine
http://rpmfind.net/