
On 07/06/13 04:29, John Ferlan wrote:
On 06/03/2013 06:05 AM, Osier Yang wrote:
The name format is constructed by libvirt, it's not that clear to get what the device's sysfs path should be. This exposes the device's sysfs path by a new tag <path>.
Since the sysfspath is filled during enumerating the devices by either udev or HAL. It's an output-only tag. --- src/conf/node_device_conf.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c index 4eeb3b3..cc6f297 100644 --- a/src/conf/node_device_conf.c +++ b/src/conf/node_device_conf.c @@ -236,6 +236,7 @@ char *virNodeDeviceDefFormat(const virNodeDeviceDefPtr def)
virBufferAddLit(&buf, "<device>\n"); virBufferEscapeString(&buf, " <name>%s</name>\n", def->name); + virBufferEscapeString(&buf, " <path>%s</path>\n", def->sysfs_path); Is this necessarily filled in? EG, do you need to do an "if (def->sysfs_path)" first?
No. virBufferEscapeString has the checking inside, if the string is NULL, it does nothing for &buf.
ACK
John
if (def->parent) { virBufferEscapeString(&buf, " <parent>%s</parent>\n", def->parent); }