On Tue, 2015-09-15 at 17:34 +0100, Daniel P. Berrange wrote: > > + /* Second attempt: use some arch-specific rules */ > > + archstr = > > virQEMUCapsArchToString(virQEMUCapsFindTarget(hostarch, > > + > > guestarch)); > > Nitpick, we could avoid the second search if virQEMUCapsFindTarget() > returns a value that == the original guestarch. > > + if (!ret) { > > + /* If the first attempt at findind capabilities has > > failed, try > > + * again using the QEMU target as lookup key instead */ > > + data.arch = virQEMUCapsFindTarget(virArchFromHost(), > > data.arch); > > + ret = virHashSearch(cache->binaries, > > virQEMUCapsCompareArch, &data); > > + } > > Here too, skip the hash search if data.arch == data.arch from before. Good idea! After all, the definition of insanity is looking up using the same key twice and expecting a result the second time around :) I've just posted a new version[1] that implements your suggestion. Cheers. [1] https://www.redhat.com/archives/libvir-list/2015-September/msg00489 .html -- Andrea Bolognani Software Engineer - Virtualization Team -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list