Subject: Re: [PATCH v2 net-next 2/2] net: rename sysfs symlinks on device name change

From: Veaceslav Falico <[email-masked]>
Date: Wed, 15 Jan 2014 03:59:00 +0100

On Wed, Jan 15, 2014 at 10:50:30AM +0800, Ding Tianhong wrote:
>On 2014/1/15 4:58, Veaceslav Falico wrote:
...snip...
>> +void netdev_adjacent_rename_links(struct net_device *dev, char *oldname)
>> +{
>> +	struct netdev_adjacent *iter;
>> +
>> +	list_for_each_entry(iter, &dev->adj_list.upper, list) {
>> +		netdev_adjacent_sysfs_del(iter->dev, oldname,
>> +					  &iter->dev->adj_list.lower);
>> +		netdev_adjacent_sysfs_add(iter->dev, dev,
>> +					  &iter->dev->adj_list.lower);
>> +	}
>> +
>> +	list_for_each_entry(iter, &dev->adj_list.lower, list) {
>> +		netdev_adjacent_sysfs_del(iter->dev, oldname,
>> +					  &iter->dev->adj_list.upper);
>> +		netdev_adjacent_sysfs_add(iter->dev, dev,
>> +					  &iter->dev->adj_list.upper);
>> +	}
>> +}
>> +
>
>why no all_adj_list, only adj_list?
>
>I think you have add the dev to the upper_dev's upper_dev by all_adj_list, and lower_dev, so you have to check them.

symlinks are created only for neighbour adjacent devices, which are in
adj_list.*, and are not created for all_adj_list.* devices, which contains
a 'full view' list of all adjacent devices.

>
>Regards
>Ding
>
>>  void *netdev_lower_dev_get_private(struct net_device *dev,
>>  				   struct net_device *lower_dev)
>>  {
>>
>
>