--- On Sat, 12/5/09, Jim Meyering <[email protected]> wrote:
> From: Jim Meyering <[email protected]> > Subject: Re: 'make check' fails > To: "Pádraig Brady" <[email protected]> > Cc: "Sergei Steshenko" <[email protected]>, [email protected] > Date: Saturday, December 5, 2009, 2:03 AM > Pádraig Brady wrote: > > Sergei Steshenko wrote: > >> Hello, > >> > >> I've been running 'make check' on freshly > installed SUSE-11.1, and it > >> was in VirtualBox. The disk was a VirtualBox one - > not a shared folder, and > >> it was attached to virtual IDE controller (not > SATA). > >> > >> Screen output of 'make check' is attached, the > failure is: > >> > >> " > >> FAIL: ls/readdir-mountpoint-inode (exit: 1) > > > >> +++ dirname /file_exchange > >> ++ parent_dir=/ > >> ++ eval 'ls -i ... > >> + readdir_inode='?' > >> ++ env stat --format=%i /file_exchange > >> + stat_inode=0 > >> + test '?' = 0 > >> + fail=1 > > > > Thanks for the report. It looks like this test failure > was triggered by: > > http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=commit;h=36edf7ba > > > > I.E. there is now a mismatch between `ls -i` and `stat > --format=%i`, > > as ls is now doing extra validation and outputting '?' > for invalid inodes, > > whereas stat is blindly printing the st_ino. > > Thanks for investigating. > > > Should I convert '?' to '0' in the test? > > Should I modify the output from stat to match ls? > > Maybe neither. > 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 > test "$readdir_inode" = "$stat_inode" || > fail=1 > done > > If that doesn't do it, then we can skip $dir when > stat_inode is 0. > > 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: " au...@linux-ctgu:~> cat -n /etc/fstab 1 /dev/disk/by-id/ata-VBOX_HARDDISK_VB6bc61ef6-81074cc5-part1 swap swap defaults 0 0 2 /dev/disk/by-id/ata-VBOX_HARDDISK_VB6bc61ef6-81074cc5-part2 / ext3 acl,user_xattr 1 1 3 proc /proc proc defaults 0 0 4 sysfs /sys sysfs noauto 0 0 5 debugfs /sys/kernel/debug debugfs noauto 0 0 6 usbfs /proc/bus/usb usbfs noauto 0 0 7 devpts /dev/pts devpts mode=0620,gid=5 0 0 8 file_exchange /file_exchange vboxsf uid=1000,gid=100 9 /dev/disk/by-id/ata-VBOX_HARDDISK_VB8c135271-d6716c88-part1 /data ext3 acl,user_xattr 1 2 au...@linux-ctgu:~> ". Overall guest system behaves quite fine, I've managed to build in it quite a lot of things from sources, even the heavy ones like 'gcc'. Regards, Sergei.
