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(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org