'find -ino' is this test was supposed to filter files by inode
number that was recorded with 'ls -i' to compare st_ino returned by
stat(2) with d_ino returned by getdents64(2).
It turns out that on some systems, 'find -ino' uses stat(2) for
filtering by inode number, which is not what we want.
Use the auxiliary program t_dir_type to filter files by inode number
instead.
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
_supported_os Linux
_require_scratch
_require_test_program "af_unix"
+_require_test_program "t_dir_type"
rm -f $seqres.full
# Test constant readdir(3)/getdents(2) d_ino -
# Expect to find file by inode number
cat $before | while read ino f; do
- find $dir/ -maxdepth 1 -inum $ino | grep -q $f || \
+ $here/src/t_dir_type $dir $ino | grep -q $f || \
echo "$f not found by ino $ino (from $before)"
done
}