_test_punch the main test function follows the procedure:
- mkfs & mount scratch
- optionally set files extent size hint
- truncate and optionally resvsp
- write or punch to file in specified order at given offsets & lengths
- display the file state (bmap) after each operation
All sizes, offsets and lengths are specified in FS blocks.
Problems may arise on non bash shells due to array usage.
Merge of master-melb:xfs-cmds:29434a by kenmcd.
- use xfs_io instead of dd (working direct io)
- no filestreams directory flags, just use the mount option
Merge of master-melb:xfs-cmds:29185a by kenmcd.
$MKFS_XFS_PROG $SCRATCH_OPTIONS $MKFS_OPTIONS $extra_mkfs_options $SCRATCH_DEV
local mkfs_status=$?
# a mkfs failure may be caused by conflicts between
# $MKFS_OPTIONS and $extra_mkfs_options
if [ $mkfs_status -ne 0 -a ! -z "$extra_mkfs_options" ]; then
echo "** mkfs failed with extra mkfs options added to \"$MKFS_OPTIONS\" by test $seq **" \
>>$here/$seq.full
echo "** attempting to mkfs using only test $seq options: $extra_mkfs_options **" \
>>$here/$seq.full
$MKFS_XFS_PROG $SCRATCH_OPTIONS $extra_mkfs_options $SCRATCH_DEV
mkfs_status=$?
fi
In the case of a failure caused by conflict between $MKFS_OPTIONS and $extra_mkfs_options,
the mkfs output is shown twice, first off is the failed mkfs output, secondly the resolved mkfs output.
This can cause QA failures for a number of tests, particularly those that filter the mkfs output.
This change shows only the applied (final) mkfs output from _scratch_mkfs_xfs.
Merge of master-melb:xfs-cmds:29041a by kenmcd.
Further mkfs options are then appended by _mkfs_log at mkfs time with _scratch_mkfs_xfs.
Currently there are a few ways mkfs options are specified in XFSQA:
1) suite wide MKFS_OPTIONS are specified before tests are run
e.g.
vimes:/home/fsgqa/kali/xfsqa/xfstests # export MKFS_OPTIONS="-l size=100m"
2) test wide MKFS_OPTIONS are specified during a particular test
e.g. 119
export MKFS_OPTIONS="-l version=2,size=1200b,su=64k"
3) mkfs options are appended by a test at mkfs time
e.g. 083
_scratch_mkfs_xfs -dsize=$fsz,agcount=$ags >>$seq.full
(4) Another form of appending is just appending to MKFS_OPTIONS directly
e.g. 114:export MKFS_OPTIONS="$MKFS_OPTIONS -i parent=1"
115:export MKFS_OPTIONS="$MKFS_OPTIONS -i paths=1"
e.g. Methods (2) *and* (3) for specifiying mkfs options are used in these tests.
This causes problems, because the mkfs options fallback code assumes the
_mkfs_log _scratch_mkfs_xfs appended options are the only test specified options.
This change causes tests using _mkfs_log to only use option (2).
~
~
Merge of master-melb:xfs-cmds:29031a by kenmcd.