common/filter: add _filter_stat
authorMurphy Zhou <jencce.kernel@gmail.com>
Tue, 12 Jan 2021 05:31:16 +0000 (13:31 +0800)
committerEryu Guan <guaneryu@gmail.com>
Sun, 17 Jan 2021 14:15:48 +0000 (22:15 +0800)
Since coreutils upstream v8.32~47

  commit a99ab266110795ed94a9cb4d2765ddad9c4310da
  Author: Jeff Layton <jlayton@kernel.org>
  Date:   Thu Sep 19 11:59:45 2019 -0400

      ls: use statx instead of stat when available

stat(1) starts to use statx(2) call.

In some testcase, if file does not exist, this breaks golden
output like this:

-stat: cannot stat 'SCRATCH_MNT/xxx': No such file or directory
+stat: cannot statx 'SCRATCH_MNT/xxx': No such file or directory

Add this filter to fix it, and add this filter to testcases that
need it.

Signed-off-by: Murphy Zhou <jencce.kernel@gmail.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
common/filter
tests/generic/397
tests/generic/397.out
tests/generic/435
tests/generic/435.out
tests/generic/440
tests/generic/440.out
tests/xfs/348
tests/xfs/348.out

index a8b3882..2f3277f 100644 (file)
@@ -510,6 +510,12 @@ _filter_mv()
        sed -e "s/^renamed //"
 }
 
+# New stat(1) uses statx(2)
+_filter_stat()
+{
+       sed -e "s/\<cannot stat\>/cannot statx/"
+}
+
 _filter_lostfound()
 {
        sed -e '/^lost+found$/d'
index 9711155..bb4de31 100755 (executable)
@@ -83,8 +83,8 @@ _unlink_session_encryption_key $keydesc
 _scratch_cycle_mount
 
 # Check that unencrypted names aren't there
-stat $SCRATCH_MNT/edir/empty |& _filter_scratch
-stat $SCRATCH_MNT/edir/symlink |& _filter_scratch
+stat $SCRATCH_MNT/edir/empty |& _filter_stat |& _filter_scratch
+stat $SCRATCH_MNT/edir/symlink |& _filter_stat |& _filter_scratch
 
 # Check that the correct numbers of files and subdirectories are there
 ls $SCRATCH_MNT/edir | wc -l
@@ -106,7 +106,7 @@ ln -s foo $SCRATCH_MNT/edir/0123456789abcdef |& _filter_scratch
 
 # Delete the encrypted directory (should succeed)
 rm -r $SCRATCH_MNT/edir
-stat $SCRATCH_MNT/edir |& _filter_scratch
+stat $SCRATCH_MNT/edir |& _filter_stat |& _filter_scratch
 
 # success, all done
 status=0
index 2f55c5d..6804c7a 100644 (file)
@@ -1,6 +1,6 @@
 QA output created by 397
-stat: cannot stat 'SCRATCH_MNT/edir/empty': No such file or directory
-stat: cannot stat 'SCRATCH_MNT/edir/symlink': No such file or directory
+stat: cannot statx 'SCRATCH_MNT/edir/empty': No such file or directory
+stat: cannot statx 'SCRATCH_MNT/edir/symlink': No such file or directory
 8
 1
 Required key not available
@@ -10,4 +10,4 @@ mkdir: cannot create directory 'SCRATCH_MNT/edir/newdir': Required key not avail
 mkdir: cannot create directory 'SCRATCH_MNT/edir/0123456789abcdef': Required key not available
 ln: failed to create symbolic link 'SCRATCH_MNT/edir/newlink': Required key not available
 ln: failed to create symbolic link 'SCRATCH_MNT/edir/0123456789abcdef': Required key not available
-stat: cannot stat 'SCRATCH_MNT/edir': No such file or directory
+stat: cannot statx 'SCRATCH_MNT/edir': No such file or directory
index 9f54c6c..71c5a3f 100755 (executable)
@@ -73,7 +73,7 @@ _scratch_cycle_mount
 # and ext4 reported a "Structure needs cleaning" error when removing files.
 find $SCRATCH_MNT/edir/ -type f | xargs stat -c %i | sort | uniq | wc -l
 rm -rf $SCRATCH_MNT/edir |& head -n 10
-stat $SCRATCH_MNT/edir |& _filter_scratch
+stat $SCRATCH_MNT/edir |& _filter_stat |& _filter_scratch
 
 # success, all done
 status=0
index 9ed547d..3628b8f 100644 (file)
@@ -1,4 +1,4 @@
 QA output created by 435
 100000
 100000
-stat: cannot stat 'SCRATCH_MNT/edir': No such file or directory
+stat: cannot statx 'SCRATCH_MNT/edir': No such file or directory
index d775f1e..8a81d60 100755 (executable)
@@ -87,7 +87,7 @@ _scratch_cycle_mount
 cat $SCRATCH_MNT/edir2/link
 exec 3< $SCRATCH_MNT/edir2/link # pin inode with cached key in memory
 _unlink_session_encryption_key $keydesc
-stat $SCRATCH_MNT/edir/file |& _filter_scratch
+stat $SCRATCH_MNT/edir/file |& _filter_stat |& _filter_scratch
 cat "$(find $SCRATCH_MNT/edir/ -type f)"
 exec 3>&-
 
index 372b797..82b89b8 100644 (file)
@@ -9,5 +9,5 @@ cat: SCRATCH_MNT/edir/symlink: No such file or directory
 
 ***** Child has key, but parent doesn't *****
 contents
-stat: cannot stat 'SCRATCH_MNT/edir/file': No such file or directory
+stat: cannot statx 'SCRATCH_MNT/edir/file': No such file or directory
 contents
index 194d9f9..208382f 100755 (executable)
@@ -112,7 +112,7 @@ for dt in $dtypes; do
                rm -f $tmp.stat.err
                ftype=$(stat --printf=%F $testdir/$file 2>$tmp.stat.err)
                if [ -s $tmp.stat.err ]; then
-                       cat $tmp.stat.err
+                       cat $tmp.stat.err | _filter_stat
                else
                        echo "stat: '$testdir/$file' is a $ftype"
                        # Verify that readlink of a file posing as a symlink
index 17d9be2..0d40771 100644 (file)
@@ -23,13 +23,13 @@ would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "FIFO" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DATA': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
 
 ===== Setting dt=1 to all files:
 core.mode = 010644
@@ -43,10 +43,10 @@ would have junked entry "DATA" in directory PARENT_INO
 would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DATA': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
 stat: 'SCRATCH_MNT/test/CHRDEV' is a fifo
 stat: 'SCRATCH_MNT/test/BLKDEV' is a fifo
 stat: 'SCRATCH_MNT/test/FIFO' is a fifo
@@ -63,10 +63,10 @@ would have junked entry "DATA" in directory PARENT_INO
 would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DATA': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
 stat: 'SCRATCH_MNT/test/CHRDEV' is a character special file
 stat: 'SCRATCH_MNT/test/BLKDEV' is a character special file
 stat: 'SCRATCH_MNT/test/FIFO' is a character special file
@@ -86,13 +86,13 @@ would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "FIFO" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DATA': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
 
 ===== Setting dt=4 to all files:
 core.mode = 040644
@@ -109,11 +109,11 @@ would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "FIFO" in directory PARENT_INO
 stat: 'SCRATCH_MNT/test/DIR' is a directory
 stat: 'SCRATCH_MNT/test/DATA' is a directory
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
 
 ===== Setting dt=5 to all files:
 core.mode = 050644
@@ -130,13 +130,13 @@ would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "FIFO" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DATA': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
 
 ===== Setting dt=6 to all files:
 core.mode = 060644
@@ -150,10 +150,10 @@ would have junked entry "DATA" in directory PARENT_INO
 would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DATA': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
 stat: 'SCRATCH_MNT/test/CHRDEV' is a block special file
 stat: 'SCRATCH_MNT/test/BLKDEV' is a block special file
 stat: 'SCRATCH_MNT/test/FIFO' is a block special file
@@ -173,13 +173,13 @@ would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "FIFO" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DATA': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
 
 ===== Setting dt=10 to all files:
 core.mode = 0100644
@@ -194,13 +194,13 @@ would have junked entry "CHRDEV" in directory PARENT_INO
 would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "FIFO" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
 stat: 'SCRATCH_MNT/test/DATA' is a regular file
 stat: 'SCRATCH_MNT/test/EMPTY' is a regular empty file
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
 
 ===== Setting dt=11 to all files:
 core.mode = 0110644
@@ -217,13 +217,13 @@ would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "FIFO" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DATA': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
 
 ===== Setting dt=12 to all files:
 core.mode = 0120644
@@ -239,13 +239,13 @@ would have junked entry "DATA" in directory PARENT_INO
 would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "FIFO" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
 stat: 'SCRATCH_MNT/test/DATA' is a symbolic link
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
 stat: 'SCRATCH_MNT/test/SYMLINK' is a symbolic link
-stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
 
 ===== Setting dt=13 to all files:
 core.mode = 0130644
@@ -262,13 +262,13 @@ would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "FIFO" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DATA': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
 
 ===== Setting dt=14 to all files:
 core.mode = 0140644
@@ -282,10 +282,10 @@ would have junked entry "DATA" in directory PARENT_INO
 would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DATA': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
 stat: 'SCRATCH_MNT/test/CHRDEV' is a socket
 stat: 'SCRATCH_MNT/test/BLKDEV' is a socket
 stat: 'SCRATCH_MNT/test/FIFO' is a socket
@@ -305,13 +305,13 @@ would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "FIFO" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DATA': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
 
 ===== Setting dt=16 to all files:
 core.mode = 0160644
@@ -328,13 +328,13 @@ would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "FIFO" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DATA': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
 
 ===== Setting dt=17 to all files:
 core.mode = 0170644
@@ -351,10 +351,10 @@ would have junked entry "DIR" in directory PARENT_INO
 would have junked entry "EMPTY" in directory PARENT_INO
 would have junked entry "FIFO" in directory PARENT_INO
 would have junked entry "SYMLINK" in directory PARENT_INO
-stat: cannot stat 'SCRATCH_MNT/test/DIR': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/DATA': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
-stat: cannot stat 'SCRATCH_MNT/test/FIFO': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DIR': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/DATA': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/EMPTY': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/SYMLINK': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/CHRDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/BLKDEV': Structure needs cleaning
+stat: cannot statx 'SCRATCH_MNT/test/FIFO': Structure needs cleaning