generic: _test_generic_punch not blocksize clean

Test 17 of _test_generic_punch uses the filesystem block size to do
a sub-single block punch. The result of this is a files of
different sizes and md5sums when the filesystem block size changes.
However the only difference in file contents if the length of the
file - the zeroed region is always in the same place. Hence we can
use hexdump rather than md5sum to check the output remains
consistent and the hole remains in the correct place despite the
changing block sizes.

Fix up all the golden output for all the tests that use this
function, too.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
Dave Chinner
2014-02-04 11:52:26 +11:00
committed by Dave Chinner
parent 180adeb433
commit 9c5d298030
5 changed files with 87 additions and 16 deletions
+9 -3
View File
@@ -516,6 +516,12 @@ _test_generic_punch()
rm -f $testfile.2 rm -f $testfile.2
_md5_checksum $testfile _md5_checksum $testfile
# different file sizes mean we can't use md5sum to check the hole is
# valid. Hence use hexdump to dump the contents and chop off the last
# line of output that indicates the file size. We also have to fudge
# the extent size as that will change with file size, too - that's what
# the sed line noise does - it will always result in an output of [0..7]
# so it matches 4k block size...
echo " 17. data -> hole in single block file" echo " 17. data -> hole in single block file"
if [ "$remove_testfile" ]; then if [ "$remove_testfile" ]; then
rm -f $testfile rm -f $testfile
@@ -524,8 +530,8 @@ _test_generic_punch()
$XFS_IO_PROG -f -c "truncate $block_size" \ $XFS_IO_PROG -f -c "truncate $block_size" \
-c "pwrite 0 $block_size" $sync_cmd \ -c "pwrite 0 $block_size" $sync_cmd \
-c "$zero_cmd 128 128" \ -c "$zero_cmd 128 128" \
-c "$map_cmd -v" $testfile | $filter_cmd -c "$map_cmd -v" $testfile | $filter_cmd | \
sed -e "s/\.\.[0-9]*\]/..7\]/"
[ $? -ne 0 ] && die_now [ $? -ne 0 ] && die_now
_md5_checksum $testfile od -x $testfile | head -n -1
} }
+24 -4
View File
@@ -72,7 +72,12 @@ eecb7aa303d121835de05028751d301c
eecb7aa303d121835de05028751d301c eecb7aa303d121835de05028751d301c
17. data -> hole in single block file 17. data -> hole in single block file
0: [0..7]: extent 0: [0..7]: extent
13535fd4d496bf0b74bb2335aa4d1b31 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
1. into a hole 1. into a hole
daa100df6e6711906b61c9ab5aa16032 daa100df6e6711906b61c9ab5aa16032
2. into allocated space 2. into allocated space
@@ -146,7 +151,12 @@ eecb7aa303d121835de05028751d301c
eecb7aa303d121835de05028751d301c eecb7aa303d121835de05028751d301c
17. data -> hole in single block file 17. data -> hole in single block file
0: [0..7]: extent 0: [0..7]: extent
13535fd4d496bf0b74bb2335aa4d1b31 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
1. into a hole 1. into a hole
0: [0..7]: extent 0: [0..7]: extent
1: [8..39]: hole 1: [8..39]: hole
@@ -225,7 +235,12 @@ eecb7aa303d121835de05028751d301c
eecb7aa303d121835de05028751d301c eecb7aa303d121835de05028751d301c
17. data -> hole in single block file 17. data -> hole in single block file
0: [0..7]: extent 0: [0..7]: extent
13535fd4d496bf0b74bb2335aa4d1b31 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
1. into a hole 1. into a hole
0: [0..7]: extent 0: [0..7]: extent
1: [8..39]: hole 1: [8..39]: hole
@@ -304,4 +319,9 @@ eecb7aa303d121835de05028751d301c
eecb7aa303d121835de05028751d301c eecb7aa303d121835de05028751d301c
17. data -> hole in single block file 17. data -> hole in single block file
0: [0..7]: extent 0: [0..7]: extent
13535fd4d496bf0b74bb2335aa4d1b31 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
+24 -4
View File
@@ -36,7 +36,12 @@ eecb7aa303d121835de05028751d301c
eecb7aa303d121835de05028751d301c eecb7aa303d121835de05028751d301c
17. data -> hole in single block file 17. data -> hole in single block file
0: [0..7]: extent 0: [0..7]: extent
13535fd4d496bf0b74bb2335aa4d1b31 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
1. into a hole 1. into a hole
daa100df6e6711906b61c9ab5aa16032 daa100df6e6711906b61c9ab5aa16032
2. into allocated space 2. into allocated space
@@ -74,7 +79,12 @@ eecb7aa303d121835de05028751d301c
eecb7aa303d121835de05028751d301c eecb7aa303d121835de05028751d301c
17. data -> hole in single block file 17. data -> hole in single block file
0: [0..7]: extent 0: [0..7]: extent
13535fd4d496bf0b74bb2335aa4d1b31 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
1. into a hole 1. into a hole
0: [0..7]: extent 0: [0..7]: extent
1: [8..39]: hole 1: [8..39]: hole
@@ -118,7 +128,12 @@ eecb7aa303d121835de05028751d301c
eecb7aa303d121835de05028751d301c eecb7aa303d121835de05028751d301c
17. data -> hole in single block file 17. data -> hole in single block file
0: [0..7]: extent 0: [0..7]: extent
13535fd4d496bf0b74bb2335aa4d1b31 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
1. into a hole 1. into a hole
0: [0..7]: extent 0: [0..7]: extent
1: [8..39]: hole 1: [8..39]: hole
@@ -162,4 +177,9 @@ eecb7aa303d121835de05028751d301c
eecb7aa303d121835de05028751d301c eecb7aa303d121835de05028751d301c
17. data -> hole in single block file 17. data -> hole in single block file
0: [0..7]: extent 0: [0..7]: extent
13535fd4d496bf0b74bb2335aa4d1b31 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
+6 -1
View File
@@ -74,4 +74,9 @@ eecb7aa303d121835de05028751d301c
eecb7aa303d121835de05028751d301c eecb7aa303d121835de05028751d301c
17. data -> hole in single block file 17. data -> hole in single block file
0: [0..7]: data 0: [0..7]: data
13535fd4d496bf0b74bb2335aa4d1b31 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
+24 -4
View File
@@ -72,7 +72,12 @@ eecb7aa303d121835de05028751d301c
eecb7aa303d121835de05028751d301c eecb7aa303d121835de05028751d301c
17. data -> hole in single block file 17. data -> hole in single block file
0: [0..7]: data 0: [0..7]: data
13535fd4d496bf0b74bb2335aa4d1b31 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
1. into a hole 1. into a hole
daa100df6e6711906b61c9ab5aa16032 daa100df6e6711906b61c9ab5aa16032
2. into allocated space 2. into allocated space
@@ -146,7 +151,12 @@ eecb7aa303d121835de05028751d301c
eecb7aa303d121835de05028751d301c eecb7aa303d121835de05028751d301c
17. data -> hole in single block file 17. data -> hole in single block file
0: [0..7]: data 0: [0..7]: data
13535fd4d496bf0b74bb2335aa4d1b31 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
1. into a hole 1. into a hole
0: [0..7]: data 0: [0..7]: data
1: [8..39]: hole 1: [8..39]: hole
@@ -225,7 +235,12 @@ eecb7aa303d121835de05028751d301c
eecb7aa303d121835de05028751d301c eecb7aa303d121835de05028751d301c
17. data -> hole in single block file 17. data -> hole in single block file
0: [0..7]: data 0: [0..7]: data
13535fd4d496bf0b74bb2335aa4d1b31 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
1. into a hole 1. into a hole
0: [0..7]: data 0: [0..7]: data
1: [8..39]: hole 1: [8..39]: hole
@@ -304,4 +319,9 @@ eecb7aa303d121835de05028751d301c
eecb7aa303d121835de05028751d301c eecb7aa303d121835de05028751d301c
17. data -> hole in single block file 17. data -> hole in single block file
0: [0..7]: data 0: [0..7]: data
13535fd4d496bf0b74bb2335aa4d1b31 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*