generic/420: truncate testfile before executing the test
authorIlya Dryomov <idryomov@gmail.com>
Fri, 25 Aug 2017 12:04:41 +0000 (14:04 +0200)
committerEryu Guan <eguan@redhat.com>
Sun, 27 Aug 2017 14:52:26 +0000 (22:52 +0800)
If generic/437 is run before generic/420, the latter fails with:

  4c4
  < stat.size = 2048
  ---
  > stat.size = 2097152

because both use $TEST_DIR/testfile.  generic/437 leaves it at 2M,
while generic/420 assumes that it is empty (or at least smaller than
2048 bytes).

Use a private test file (testfile.$seq) and truncate it on open just in
case.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/generic/420

index ccb6cb8e829b7345d70c3f4ece2deea8043ca0a0..aab2e08855d0b4a229016a83bbeee5a94ac62936 100755 (executable)
@@ -52,10 +52,10 @@ _supported_os Linux
 _require_test
 _require_xfs_io_command fpunch
 
-testfile="${TEST_DIR}/testfile"
+testfile="${TEST_DIR}/testfile.$seq"
 
 echo "Testing fallocate(mode=FALLOC_FL_KEEP_SIZE|FALLOC_FL_PUNCH_HOLE)"
-$XFS_IO_PROG -fc "pwrite -b 2048 0 2048" $testfile | head -n1
+$XFS_IO_PROG -f -t -c "pwrite -b 2048 0 2048" $testfile | head -n1
 # fpunch from xfs_io has KEEP_SIZE flag set
 $XFS_IO_PROG -c "fpunch 2048 2048" $testfile
 $XFS_IO_PROG -c "stat" $testfile | grep -F 'stat.size'