mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
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 0e13e40b24 ("shared/005,7:
make sure debugfs sets negative i_size").
Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
+4
-7
@@ -65,15 +65,12 @@ echo "Corrupt filesystem"
|
||||
_scratch_unmount
|
||||
$DEBUGFS_PROG -w -R "sif /a size -1" $SCRATCH_DEV >> $seqres.full 2>&1
|
||||
|
||||
# check whether debugfs succeeds to set i_size to -1 or not
|
||||
$DEBUGFS_PROG -R "stat /a" $SCRATCH_DEV 2>&1 | grep -q "Size: 18446744073709551615" || \
|
||||
_notrun "Could not set i_size to -1 successfully, skip test."
|
||||
|
||||
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
|
||||
_notrun "Could not set i_size to -1 successfully, skip test."
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
|
||||
+4
-7
@@ -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
|
||||
|
||||
# check whether debugfs succeeds to set i_size to -512 or not
|
||||
$DEBUGFS_PROG -R "stat /a" $SCRATCH_DEV 2>&1 | grep -q "Size: 18446744073709551104" || \
|
||||
_notrun "Could not set i_size to -512 successfully, skip test."
|
||||
|
||||
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
|
||||
_notrun "Could not set i_size to -512 successfully, skip test."
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user