Skip to contentSkip to conversation

use xfs_io falloc, not fallocate

PATCH New Eric Sandeen 1 participant 1 message Nov 13, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 use xfs_io falloc, not fallocate

generic/315 fails messily if the fallocate command isn't present.

generic/299 also uses "fallocate" and "truncate"
binaries which may not be present.

Switch both to use xfs_io, and we already have the _require for that, because it's what every other test uses...

---

tests/generic/299 +5 -3
index e8685a4..f4fc20e 100755
@@ -110,6 +110,7 @@ filename=buffered-aio-verifier
 EOF
 
 _require_fio $fio_config
+_require_xfs_io_command "falloc"
 
 _workout()
 {
@@ -125,12 +126,13 @@ _workout()
 	do
 	    for ((k=1; k <= NUM_JOBS; k++))
 	    do
-		fallocate -l $FILE_SIZE $SCRATCH_MNT/direct_aio.$k.0 \
-			>> $seqres.full 2>&1
+		$XFS_IO_PROG -f -c "falloc 0 $FILE_SIZE" \
+			$SCRATCH_MNT/direct_aio.$k.0 >> $seqres.full 2>&1
 	    done
 	    for ((k=1; k <= NUM_JOBS; k++))
 	    do
-		truncate -s 0 $SCRATCH_MNT/direct_aio.$k.0 >> $seqres.full 2>&1
+		$XFS_IO_PROG -c "truncate  0" \
+			$SCRATCH_MNT/direct_aio.$k.0 >> $seqres.full 2>&1
 	    done
 	    # Following like will check that pid is still run.
 	    # Once fio exit we can stop fallocate/truncate loop
tests/generic/315 +3 -1
index 62fdc01..4433b6c 100755
@@ -49,6 +49,7 @@ _cleanup()
 _supported_fs generic
 _supported_os Linux
 _require_test
+_require_xfs_io_command "falloc"
 
 rm -f $seqres.full
 
@@ -62,7 +63,8 @@ avail_begin=`df -P $TEST_DIR | awk 'END {print $4}'`
 # Preallocate half size of the available disk space to a file
 # starts from offset 0 with FALLOC_FL_KEEP_SIZE option on the
 # test file system.
-fallocate -n -o 0 -l $(($avail_begin/2)) $TEST_DIR/testfile.$seq >>$seqres.full 2>&1
+$XFS_IO_PROG -f -c 'falloc -k 0 $(($avail_begin/2))' \
+	$TEST_DIR/testfile.$seq >>$seqres.full 2>&1
 
 # Verify the file size, it should keep unchanged as 0 in this case
 fsize=`ls -l $TEST_DIR/testfile.$seq | awk '{print $5}'`