Sergei Steshenko wrote:
> --- On Sat, 12/5/09, Jim Meyering <[email protected]> wrote:
>> The "?" makes me think /file_exchange is a dangling
>> symlink.
>> If that's the case, selecting only directories may be
>> enough:
>>
>> diff --git a/tests/ls/readdir-mountpoint-inode
>> b/tests/ls/readdir-mountpoint-inode
>> index c021473..de563d7 100755
>> --- a/tests/ls/readdir-mountpoint-inode
>> +++ b/tests/ls/readdir-mountpoint-inode
>> @@ -65,6 +65,8 @@ inode_via_readdir()
>>  for dir in $mount_points; do
>>    readdir_inode=$(inode_via_readdir $dir)
>>    stat_inode=$(env stat --format=%i $dir)
>> +  # skip non-directories (i.e., dangling symlinks)
>> +  test -d $dir || continue

Note the symlinks are not dereferenced by ls or stat below anyway.
Also I quickly tried to mount on a symlink but it was
canonicalized at some stage.

>> If that doesn't do it, then we can skip $dir when
>> stat_inode is 0.

That would work but as Sergei confirms below, the stat
is succeeding and returning 0 for st_ino.
Perhaps we should change ls to also print the 0 if the stat succeeds?
That means we can distinguish between a failure (?) and the OS
returning 0 as a "valid" number.
Also, even if we do that, in the test we would need to skip the case
where `stat` returns nothing on error.

>> Sergei, what do these print for you?
>>
>>   env ls -li  / |grep file_exchange
>>   env ls -lidL /file_exchange
>>
> 
> Here is the requested screen output.
> 
> "
> au...@linux-ctgu:~> env ls -li / | grep file_exchange
>      ? drwxr-xr-x   1 auser users  4096 2009-12-04 06:29 file_exchange
> au...@linux-ctgu:~> env ls -lidL /file_exchange
>      ? drwxr-xr-x 1 auser users 4096 2009-12-04 06:29 /file_exchange
> au...@linux-ctgu:~>
> ".
> 
> '/file_exchange' is what VirtualBox developers call shared folder.
> 
> Both host and guest OSes are Linux (SUSE-11.1). Also, in the guest I'm
> using what VirtualBox developers call "host additions". And 'file_exchange' 
> is both device and share name.
> 
> Here's what my '/etc/fstab' file in the guest OS contains:
> 
>      8  file_exchange        /file_exchange       vboxsf     uid=1000,gid=100

cheers,
Pádraig.


Reply via email to