generic/032: fix unwritten extent checks

Fix the unwritten extent detector in this test to ignore post-eof
allocations because those are harmless.

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:45:01 -07:00
committed by Eryu Guan
parent 5144d265fd
commit 42d6e34f3f
+10 -7
View File
@@ -69,18 +69,21 @@ do
# preallocate the first 64k and overwite, writing past 64k to contend
# with writeback
file_len=0x100000
$XFS_IO_PROG \
-c "falloc 0 0x10000" \
-c "pwrite 0 0x100000" \
-c "pwrite 0 $file_len" \
-c "fsync" \
$SCRATCH_MNT/file >> $seqres.full 2>&1
# Check for unwritten extents. We should have none since we wrote over
# the entire preallocated region and ran fsync.
$XFS_IO_PROG -c "fiemap -v" $SCRATCH_MNT/file | \
tee -a $seqres.full | \
_filter_fiemap | grep unwritten
[ $? == 0 ] && _fail "Unwritten extents found!"
# Check for unwritten extents. We should have none before EOF since we
# wrote over the entire preallocated region and ran fsync.
eof_sector=$(( file_len / 512 ))
$XFS_IO_PROG -c 'fiemap -v' $SCRATCH_MNT/file | \
_filter_fiemap | \
tr '[.]:' ' ' | \
awk "{if (\$2 < $eof_sector) {print \$0}}" | \
grep -q unwritten && _fail "Unwritten extents found!"
done
echo $iters iterations