Re: [PATCH] skip . and .. in accurately in isbridge()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 6, 2011 at 12:43 AM, Stephen Hemminger
<shemminger@xxxxxxxxxx> wrote:
> On Mon, 5 Sep 2011 22:58:07 +0800
> Xiaochen Wang <wangxiaochen0@xxxxxxxxx> wrote:
>
>> Hi all,
>>
>>  In commit f88f8 "Skip . and .. in foreach_bridge test", the code skips
>>  all directories starting with dot.
>>
>>  But if we create a bridge staring with dot, e.g. `.br0`, then `brctl show`
>>  cannot show this one.
>>  `.br0` should not be hidden, because we cannot find it except the command
>>  `brctl show .br0`.
>>
>> Signed-off-by: Xiaochen Wang <wangxiaochen0@xxxxxxxxx>
>> ---
>>  libbridge/libbridge_init.c |    7 +++++--
>>  1 files changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/libbridge/libbridge_init.c b/libbridge/libbridge_init.c
>> index 1c1acbd..177a391 100644
>> --- a/libbridge/libbridge_init.c
>> +++ b/libbridge/libbridge_init.c
>> @@ -49,9 +49,12 @@ static int isbridge(const struct dirent *entry)
>>       char path[SYSFS_PATH_MAX];
>>       struct stat st;
>>
>> -     if (entry->d_name[0] == '.')
>> +     if (entry->d_name[0] == '.'
>> +         && (entry->d_name[1] == '\0'
>> +             || (entry->d_name[1] == '.'
>> +                 && entry->d_name[2] == '\0')))
>>               return 0;
>> -
>> +
>>       snprintf(path, SYSFS_PATH_MAX,
>>                SYSFS_CLASS_NET "%s/bridge", entry->d_name);
>>       return stat(path, &st) == 0 && S_ISDIR(st.st_mode);
>
> This was an accident originally, but allowing hidden bridges might be useful.
> And is common for other commands to not show names starting with .
>
I see.
_______________________________________________
Bridge mailing list
Bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/bridge



[Index of Archives]     [Netdev]     [AoE Tools]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux