diff --git a/src/conf/numa_conf.c b/src/conf/numa_conf.c index c906a53de07f2223875137c7451723fc13a21634..9307dd93d3d47ceab9bbdc530a131b81e1548100 100644 --- a/src/conf/numa_conf.c +++ b/src/conf/numa_conf.c @@ -1074,6 +1074,7 @@ virDomainNumaCheckABIStability(virDomainNumaPtr src, virDomainNumaPtr tgt) { size_t i; + size_t j; if (virDomainNumaGetNodeCount(src) != virDomainNumaGetNodeCount(tgt)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, @@ -1102,6 +1103,17 @@ virDomainNumaCheckABIStability(virDomainNumaPtr src, "match source"), i); return false; } + + for (j = 0; j < virDomainNumaGetNodeCount(src); j++) { + if (virDomainNumaGetNodeDistance(src, i, j) != + virDomainNumaGetNodeDistance(tgt, i, j)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target NUMA distance from %zu to %zu " + "doesn't match source"), i, j); + + return false; + } + } } return true;