This is just like test 072, but using fallocate instead
of the xfs ioctl. Just very basic fallocate tests.
Also adds a "prealloc" group (./check -g prealloc)
and a _require_xfs_io_falloc check.
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
The extN, reiserfs, gfs2, and btrfs filesysytem types should use the
same check for a block device as XFS and UDF, and not the test for
NFS, which was checking for host:/foo/bar/baz when checking for a
scratch device.
Also, the NFS logic was also incorrect, in that it would allow a
zero-length SCRATCH_DEV to continue.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Felix Blyakher <felixb@sgi.com>
This includes a fair bit of rearranging to avoid code duplication,
but the goal is to allow 'fsck -n -t $FSTYP $device' to be run on
any generic filesystem.
Any FS for which this doesn't work will need it's own fsck routine.
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
This patch gets reiserfs, gfs2, and btrfs off the ground.
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
ext2/3/4 don't support acls & attrs w/o specific mount
options, so make those the default whenever we mount
these filesystems.
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Make the default filesystem testdir setup the same as
what xfs did; simply set up the testdir variable.
Update the comment for UDF & NFS, as to why they are
currently doing something different.
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Create a new "generic" _supported_fs type for tests
which are not really filesystem-specific. "generic"
tests do expect that acl & attr are supported though.
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
One of the big cpu time consumers when running xfsqa on UML
is forking of new processes. when looping lots of times,
using 'expr' to calculate the loop counter increment means
we fork at least once every loop. using shell builtins means
that we don't fork and many tests run substantially faster.
Some tests are even runnable with this modification. e.g. 110
went from taking 4500s to run down to 9s with the loop iterators
changed to avoid forking.
Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Fix a couple of issues when running xfsqa with external logs:
- update the 096 golden output for the external log case
- add a new _scratch_xfs_check similar to _scratch_xfs_logprint and
_scratch_xfs_repair that take the log device into account and use it
in test 134
- use _scratch_xfs_repair in test 202 to fix it for external log
devices
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
$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.
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"
Conflicts between mkfs options specified with method 1 & 3 are common.
960377 XFSQA 041, 042 - mkfs fails with large log size MKFS_OPTIONS.
This change means if a mkfs fails where mkfs options have been appended by a test (method 3),
The mkfs is retried using only those options defined by the test.
occurances of method 4 (in test 114 & 115) are also changed to use method 3.
$seq.full logs the fact that a mkfs options conflict has occured.
Merge of master-melb:xfs-cmds:28601a by kenmcd.
append -i parent mkfs option using _scratch_mkfs_xfs -i parent...
rather than export MKFS_OPTIONS="$MKFS_OPTIONS -i parent=1.
this avoids mkfs option conflicts
- multiple -o's are not allowed
- no spaces between comma delimitered options
added sed script replaces all -o's (except the first) with a comma
Merge of master-melb:xfs-cmds:27184a by kenmcd.