]> xenbits.xensource.com Git - libvirt.git/commitdiff
virNodeDevCapPCIDevParseXML: Initialize numa_node variable
authorMichal Privoznik <mprivozn@redhat.com>
Thu, 12 Jun 2014 09:14:20 +0000 (11:14 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 12 Jun 2014 15:18:29 +0000 (17:18 +0200)
With one of my recent patches (1c70277) libvirt's capable of
reporting NUMA node locality for PCI devices. The node ID is
stored in pci_dev.numa_node variable. However, since zero is
valid NUMA node ID, the default is -1 as it is in kernel too.
So, if the PCI device is not tied to any specific NUMA node, the
default is then NOT printed into XML. Therefore, when parsing
node device XML, the <node/> element is optional. But currently,
if it's not there, we must set sane default, otherwise after
parsing in the memory representation doesn't match the XML. We
are already doing this in other place: udevProcessPCI().

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/node_device_conf.c

index 6153aa17c1441522c3639d2603f7af300d5fa14a..12e40e66ff4708f6d934b058e86406e48a573fde 100644 (file)
@@ -1145,6 +1145,8 @@ virNodeDevCapPCIDevParseXML(xmlXPathContextPtr ctxt,
         }
     }
 
+    /* The default value is -1 since zero is valid NUMA node number */
+    data->pci_dev.numa_node = -1;
     if (virNodeDevCapsDefParseIntOptional("number(./numa[1]/@node)", ctxt,
                                           &data->pci_dev.numa_node, def,
                                           _("invalid NUMA node ID supplied for '%s'")) < 0)