From: Darrick J. Wong Date: Wed, 20 Mar 2019 00:45:01 +0000 (-0700) Subject: generic/032: fix unwritten extent checks X-Git-Tag: v2022.05.01~1221 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=42d6e34f3fbcb227d0b5d240b95268d18a67f11b;p=users%2Fhch%2Fxfstests-dev.git 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 Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/tests/generic/032 b/tests/generic/032 index affde4b79..38352a211 100755 --- a/tests/generic/032 +++ b/tests/generic/032 @@ -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