
On 07/11/2011 10:16 AM, Matthias Bolte wrote:
My only regret here is that we can't really suggest the value expected because QEmu accepts more than one, but for other drivers we should be able to provide what type is expected. Yes, we can do that even for QEMU. See attached diff between v2 and v3 for easier review.
+++ b/src/conf/domain_conf.c @@ -29,6 +29,7 @@ #include <fcntl.h> #include <dirent.h> #include <sys/time.h> +#include <math.h>
What was this needed for?
@@ -5846,10 +5848,42 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps, } VIR_FREE(tmp);
- if (((1 << def->virtType) & expectedVirtTypes) == 0) { - virDomainReportError(VIR_ERR_INTERNAL_ERROR, - _("unexpected domain type %s"), - virDomainVirtTypeToString(def->virtType)); + if ((expectedVirtTypes & (1 << def->virtType)) == 0) { + if (count_one_bits(expectedVirtTypes) == 1) { + virDomainReportError(VIR_ERR_INTERNAL_ERROR, + _("unexpected domain type %s, expecting %s"),
I like it. ACK to this difference. -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org