shared/005,7: make sure debugfs sets negative i_size

shared/005 and shared/007 work abnornamlly on RHEL6.8GA and
RHEL6.9Beta because debugfs fails to set i_size to -1 or -512
and reports "exceeds field size maximum".  When debugfs fails
to set a negative i_size, we can skip these cases which don't
trigger the kernel bug.

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:
Xiao Yang
2017-02-13 19:21:50 +08:00
committed by Eryu Guan
parent 7e4f7a370c
commit 0e13e40b24
2 changed files with 14 additions and 0 deletions
+7
View File
@@ -67,6 +67,13 @@ $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
_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
+7
View File
@@ -69,6 +69,13 @@ $DEBUGFS_PROG -w -R "sif /a size 0xFFFFFFFFFFFFFE00" $SCRATCH_DEV >> $seqres.ful
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