• C
    caps: Fix regression defaulting to host arch · 8910e063
    Cole Robinson 提交于
    My commit 747761a7 (v1.2.15 only) dropped this bit of logic when filling
    in a default arch in the XML:
    
    -    /* First try to find one matching host arch */
    -    for (i = 0; i < caps->nguests; i++) {
    -        if (caps->guests[i]->ostype == ostype) {
    -            for (j = 0; j < caps->guests[i]->arch.ndomains; j++) {
    -                if (caps->guests[i]->arch.domains[j]->type == domain &&
    -                    caps->guests[i]->arch.id == caps->host.arch)
    -                    return caps->guests[i]->arch.id;
    -            }
    -        }
    -    }
    
    That attempt to match host.arch is important, otherwise we end up
    defaulting to i686 on x86_64 host for KVM, which is not intended.
    Duplicate it in the centralized CapsLookup function.
    
    Additionally add some testcases that would have caught this.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1219191
    8910e063
capabilities.c 34.0 KB