generic/042: fix stale disk contents check

This test doesn't call fsync or sync to force writeback of the first 60k
of the file, which means that we could end up with a file full of
zeroes or an empty file.  Since this is a regression test that looks for
stale disk contents slipping through, change the test to look for the
stale bytes.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
Darrick J. Wong
2019-03-19 17:44:55 -07:00
committed by Eryu Guan
parent 97fd33c767
commit 5144d265fd
+7 -3
View File
@@ -44,7 +44,7 @@ _crashtest()
# Create an fs on a small, initialized image. The pattern is written to
# the image to detect stale data exposure.
$XFS_IO_PROG -f -c "truncate 0" -c "pwrite 0 25M" $img \
$XFS_IO_PROG -f -c "truncate 0" -c "pwrite -S 0xCD 0 25M" $img \
>> $seqres.full 2>&1
_mkfs_dev $img >> $seqres.full 2>&1
@@ -61,8 +61,12 @@ _crashtest()
$UMOUNT_PROG $mnt
_mount $img $mnt
# we generally expect a zero-sized file (this should be silent)
hexdump $file
# We should /never/ see 0xCD in the file, because we wrote that pattern
# to the filesystem image to expose stale data.
if hexdump -v -e '/1 "%02X "' $file | grep -q "CD"; then
echo "Saw stale data!!!"
hexdump $file
fi
$UMOUNT_PROG $mnt
}