From: Xiao Yang Date: Wed, 22 Feb 2017 08:17:03 +0000 (+0800) Subject: shared/005,7: fix making sure debugfs sets negative i_size X-Git-Tag: v2022.05.01~2164 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6e56c6b59aa7ba0c0622af4f5bf0d685ef6c523d;p=xfstests-dev.git shared/005,7: fix making sure debugfs sets negative i_size If the kernel bug has been fixed, stat command fails to get i_size and reports "Structure needs cleaning". So we use debugfs -R "stat" instead of stat command to make sure debugfs sets negative i_size. These cases have been broken by commit 0e13e40b247a1 ("shared/005,7: make sure debugfs sets negative i_size"). Signed-off-by: Xiao Yang Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/tests/shared/005 b/tests/shared/005 index 76c551c1..de7b84ff 100755 --- a/tests/shared/005 +++ b/tests/shared/005 @@ -65,15 +65,12 @@ echo "Corrupt filesystem" _scratch_unmount $DEBUGFS_PROG -w -R "sif /a size -1" $SCRATCH_DEV >> $seqres.full 2>&1 -echo "Remount, try to append" -_scratch_mount - # check whether debugfs succeeds to set i_size to -1 or not -i_size=$(stat -c "%s" $testdir/a) -if [ $i_size -ne -1 ]; then +$DEBUGFS_PROG -R "stat /a" $SCRATCH_DEV 2>&1 | grep -q "Size: 18446744073709551615" || \ _notrun "Could not set i_size to -1 successfully, skip test." -fi +echo "Remount, try to append" +_scratch_mount dd if=/dev/zero of=$testdir/a bs=512 count=1 oflag=append conv=notrunc >> $seqres.full 2>&1 || echo "Write did not succeed (ok)." sync diff --git a/tests/shared/007 b/tests/shared/007 index 77636f40..785f19f3 100755 --- a/tests/shared/007 +++ b/tests/shared/007 @@ -67,15 +67,12 @@ _scratch_unmount # -1 so that we can perform a dio write. $DEBUGFS_PROG -w -R "sif /a size 0xFFFFFFFFFFFFFE00" $SCRATCH_DEV >> $seqres.full 2>&1 -echo "Remount, try to append" -_scratch_mount - # check whether debugfs succeeds to set i_size to -512 or not -i_size=$(stat -c "%s" $testdir/a) -if [ $i_size -ne -512 ]; then +$DEBUGFS_PROG -R "stat /a" $SCRATCH_DEV 2>&1 | grep -q "Size: 18446744073709551104" || \ _notrun "Could not set i_size to -512 successfully, skip test." -fi +echo "Remount, try to append" +_scratch_mount dd if=/dev/zero of=$testdir/a bs=512 count=1 oflag=direct,append conv=notrunc >> $seqres.full 2>&1 || echo "Write did not succeed (ok)." sync