On Tue, Dec 17, 2013 at 06:43:25PM +0100, Dario Faggioli wrote: > Starting from commit 2e82c18c in Xen (will be included in Xen 4.4) > libxl_get_max_cpus() start returning a proper libxl error code, in > case of failure. It returning 0 is now basically impossible but, > theoretically, still wrong, not to mention that using '<= 0' makes > this correct for both Xen 4.4 and Xen 4.3 (and 4.2). That's why we > go for it (rather than just '< 0'). > > Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx> > Cc: Jim Fehlig <jfehlig@xxxxxxxx> > Cc: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> > --- > src/libxl/libxl_driver.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c > index 692c3b7..a31b094 100644 > --- a/src/libxl/libxl_driver.c > +++ b/src/libxl/libxl_driver.c > @@ -1101,9 +1101,11 @@ libxlConnectGetMaxVcpus(virConnectPtr conn, const char *type ATTRIBUTE_UNUSED) > > cfg = libxlDriverConfigGet(driver); > ret = libxl_get_max_cpus(cfg->ctx); > - /* libxl_get_max_cpus() will return 0 if there were any failures, > - e.g. xc_physinfo() failing */ > - if (ret == 0) > + /* On failure, libxl_get_max_cpus() will return ERROR_FAIL from Xen 4.4 > + * onward, but it ever returning 0 is obviously wrong too (and it is > + * what happens, on failure, on Xen 4.3 and earlier). Therefore, a 'less > + * or equal' is the catchall we want. */ > + if (ret <= 0) > ret = -1; > > virObjectUnref(cfg); > Good to change that, thanks, but the call to: virBitmapNew(libxl_get_max_nodes(priv->ctx)) // in the same file should be fixed as well, especially since virBitmapNew takes an unsigned argument. Could you modify that bit as well? Martin
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list