[libvirt] [PATCH] Include sysfs devices lacking a device symlink as node devices

Dave Allan dallan at redhat.com
Tue Mar 9 23:00:01 UTC 2010


On 03/09/2010 01:55 PM, Eric Blake wrote:
> On 03/03/2010 03:58 PM, Ed Swierk wrote:
>> The udev node device driver relies on the "device" symlink in sysfs to
>> populate the node device's parent property.  Loopback, vlan and bridge
>> network interfaces don't have a real hardware parent but could be useful
>> to include as node devices anyway (and the hal node device driver does
>> include them).
>>
>> This patch allows the udev node device driver to include network
>> interfaces lacking a "device" symlink as node devices, and sets the
>> parent property to "computer".
>>
>> Signed-off-by: Ed Swierk<eswierk at aristanetworks.com>
>>
>> ---
>> Index: libvirt-0.7.6/src/node_device/node_device_udev.c
>> ===================================================================
>> --- libvirt-0.7.6.orig/src/node_device/node_device_udev.c
>> +++ libvirt-0.7.6/src/node_device/node_device_udev.c
>> @@ -1220,14 +1220,13 @@ static int udevSetParent(struct udev_dev
>>       if (parent_device == NULL) {
>>           VIR_INFO("Could not find udev parent for device with sysfs path '%s'",
>>                    udev_device_get_syspath(device));
>> -        goto out;
>>       }
>>
>>       parent_sysfs_path = udev_device_get_syspath(parent_device);
>
> Where is udev_device_get_syspath declared?  I'm assuming it's generated,
> since 'git grep' didn't find it.  The only concern I have is whether it
> sanely reacts to a NULL argument, but since I couldn't find it, I'm not
> sure.  If it gracefully returns NULL on a NULL argument, then...
>
>>       if (parent_sysfs_path == NULL) {
>>           VIR_INFO("Could not get syspath for parent of '%s'",
>>                    udev_device_get_syspath(device));
>> -        goto out;
>> +        parent_sysfs_path = "";
>>       }
>
> ACK

+1

Dave




More information about the libvir-list mailing list