generic/544: fix inode number ordering code
authorKent Overstreet <kent.overstreet@gmail.com>
Sat, 13 Nov 2021 21:00:03 +0000 (16:00 -0500)
committerEryu Guan <guaneryu@gmail.com>
Sun, 21 Nov 2021 13:22:57 +0000 (21:22 +0800)
The code that creates files and moves them to low/high inode number
files writes different file contents before doing the move - leading to
non-reproducible results.

Fix this by writing the file contents after moving them to high/low
inode number files.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/generic/544

index 4a9f48526d3ddb1fb4799d426f91464916cf2002..4dbaea4de09226269007a4c554bec4c8cd65672f 100755 (executable)
@@ -44,8 +44,9 @@ inum() {
 # Create two test files, make $low_file the file with the lower inode
 # number, and make $high_file the file with the higher inode number.
 create_files() {
-       _pwrite_byte 0x60 0 $filesize $testdir/file1 >> $seqres.full
-       _pwrite_byte 0x61 0 $filesize $testdir/file2 >> $seqres.full
+       touch $testdir/file1
+       touch $testdir/file2
+
        if [ "$(inum $testdir/file1)" -lt "$(inum $testdir/file2)" ]; then
                mv $testdir/file1 $low_file
                mv $testdir/file2 $high_file
@@ -53,6 +54,9 @@ create_files() {
                mv $testdir/file2 $low_file
                mv $testdir/file1 $high_file
        fi
+
+       _pwrite_byte 0x60 0 $filesize $low_file >> $seqres.full
+       _pwrite_byte 0x61 0 $filesize $high_file >> $seqres.full
 }
 
 # Check md5sum of both files, but keep results sorted by inode order