}
+bool
+virDomainNumaNodesDistancesAreBeingSet(virDomainNumaPtr numa)
+{
+ size_t ncells = virDomainNumaGetNodeCount(numa);
+ size_t i, j;
+
+ for (i = 0; i < ncells; i++) {
+ for (j = 0; j < ncells; j++) {
+ if (virDomainNumaNodeDistanceIsUsingDefaults(numa, i, j))
+ continue;
+
+ return true;
+ }
+ }
+
+ return false;
+}
+
+
size_t
virDomainNumaGetNodeDistance(virDomainNumaPtr numa,
size_t node,
virDomainNumaGetNodeMemorySize;
virDomainNumaNew;
virDomainNumaNodeDistanceIsUsingDefaults;
+virDomainNumaNodesDistancesAreBeingSet;
virDomainNumaSetNodeCount;
virDomainNumaSetNodeCpumask;
virDomainNumaSetNodeDistance;
int ret = -1;
size_t ncells = virDomainNumaGetNodeCount(def->numa);
const long system_page_size = virGetSystemPageSizeKB();
- bool numa_distances = false;
if (virDomainNumatuneHasPerNodeBinding(def->numa) &&
!(virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_RAM) ||
/* If NUMA node distance is specified for at least one pair
* of nodes, we have to specify all the distances. Even
* though they might be the default ones. */
- for (i = 0; i < ncells; i++) {
- for (j = 0; j < ncells; j++) {
- if (virDomainNumaNodeDistanceIsUsingDefaults(def->numa, i, j))
- continue;
-
- numa_distances = true;
- break;
- }
- if (numa_distances)
- break;
- }
-
- if (numa_distances) {
+ if (virDomainNumaNodesDistancesAreBeingSet(def->numa)) {
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_NUMA_DIST)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("setting NUMA distances is not "