From a19298e3631790a12fc788b290a7791a2039cb06 Mon Sep 17 00:00:00 2001 From: Amir Goldstein Date: Thu, 11 May 2017 09:55:08 +0300 Subject: [PATCH] overlay/017: use t_dir_type to find file by d_ino '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 Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- tests/overlay/017 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/overlay/017 b/tests/overlay/017 index fabfbb5e..bb467f7a 100755 --- a/tests/overlay/017 +++ b/tests/overlay/017 @@ -56,6 +56,7 @@ _supported_fs overlay _supported_os Linux _require_scratch _require_test_program "af_unix" +_require_test_program "t_dir_type" rm -f $seqres.full @@ -107,7 +108,7 @@ function check_inode_numbers() # 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 }