xfstests-dev.git
8 years agoxfstests: update version and changelog
Ben Myers [Wed, 12 Dec 2012 17:10:11 +0000 (11:10 -0600)]
xfstests: update version and changelog

Update the version and changelog for xfstests-1.1.1 release.

Signed-off-by: Ben Myers <bpm@sgi.com>
Reviewed-by: Nathan Scott <nathans@debian.org>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
8 years agoxfstests: update XFS_IOC_ZERO_RANGE byte range test output
Dave Chinner [Thu, 29 Nov 2012 04:27:23 +0000 (15:27 +1100)]
xfstests: update XFS_IOC_ZERO_RANGE byte range test output

Kernel code now does true byte range zeroing. Update the tests to
validate true byte range zeroing correctly.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Andrew Dahl <adahl@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
9 years agoRevert "xfstests: resolve symlinked devices to real paths"
Rich Johnston [Wed, 28 Nov 2012 15:02:10 +0000 (09:02 -0600)]
Revert "xfstests: resolve symlinked devices to real paths"

This reverts commit d5ea873fcbf00b841f0511a26fb341364a5c6425 which overrode
0a818862bb74932e15971ec8bedb55765ec3a3f6 xfstests: support post-udev device
mapper node.

Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
9 years agoRevert "xfstests: fix to build src/realpath and the correct the existence of target...
Rich Johnston [Wed, 28 Nov 2012 14:46:39 +0000 (08:46 -0600)]
Revert "xfstests: fix to build src/realpath and the correct the existence of target devices"

This reverts commit b03c662399956609934ff063e9064e15dc7459ac which overrode
the 0a818862bb74932e15971ec8bedb55765ec3a3f6 xfstests: support post-udev
device mapper node.

Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstests: resolve compiler warnings
Rich Johnston [Fri, 9 Nov 2012 13:24:01 +0000 (13:24 +0000)]
xfstests: resolve compiler warnings

This patch resolves the following compiler/configure warnings:

 configure: WARNING: unrecognized options: --enable-lib64
 warning: 'xxxx' may be used uninitialized in this function [-Wuninitialized]
 warning: variable 'xxx' set but not used [-Wunused-but-set-variable]
 warning: call to function 'foo' without a real prototype [-Wunprototyped-calls]

Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
9 years agoxfstests: remove unused conditional NO_XFS
Rich Johnston [Fri, 9 Nov 2012 13:24:00 +0000 (13:24 +0000)]
xfstests: remove unused conditional NO_XFS

This patch removes the unused conditional NO_XFS which was added with
commit 332ee29d1ab7a8690ca8f6d06b0d116e3a4a4f0f:
  "xfstests updates - rework build to be like other xfs packages ..."

Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
9 years agoxfstests: remove unsupported conditionals
Rich Johnston [Fri, 9 Nov 2012 13:23:59 +0000 (13:23 +0000)]
xfstests: remove unsupported conditionals

This patch removes the unsupported sgi and CRAY.

Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
9 years agoxfstests: fix to build src/realpath and the correct the existence of target devices
sat [Mon, 19 Nov 2012 03:26:54 +0000 (03:26 +0000)]
xfstests: fix to build src/realpath and the correct the existence of target devices

Hi Rich, Eric

(2012/10/27 1:46), Rich Johnston wrote:
> On 06/08/2010 03:03 PM, Eric Sandeen wrote:
>> If you try running xfstests on lvm volumes which are symlinks,
>> it'll fail to run several tests because our _require_scratch
>> framework ultimately uses lstat not stat, and does not think
>> the lvm device (which is usually a symlink to a dm-X device)
>> is a block device.  Sigh.
>>
>> Last try at this - just resolve any symlinked devicenames
>> into their realpath(3) in common.config.
>>
>> This actually seems to work.
>>
>> Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
>>
>> ---
>>
>>
>> diff --git a/common.config b/common.config
>> index 926846b..e5b2483 100644
>> --- a/common.config
>> +++ b/common.config
>
> Looks good
>
> Reviewed-by: Rich Johnston <rjohnston@sgi.com>
>
> Eric,
>
> This patch has been committed to git://oss.sgi.com/xfs/cmds/xfstests, master branch, commit ID d5ea873f.

From: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>

Commit d5ea873f is not the same as the the following original Eric's patch.

http://oss.sgi.com/archives/xfs/2010-06/msg00080.html

It does not modify src/Makefile and realpath is never compiled.

In addition, `[ -L $TEST_DEV ]' and `[ -L $SCRATCH_DEV ]' always returns 0
if $TEST_DEV or $SCRATCH_DEV are not defined.

Cc: Eric Sandeen <sandeen@sandeen.net>
Cc: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Reviewed-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstest 291: userspace vs. fragmented multiblock dir2
Eric Sandeen [Wed, 6 Jun 2012 02:29:49 +0000 (02:29 +0000)]
xfstest 291: userspace vs. fragmented multiblock dir2

Current xfs_repair is unhappy with fragmented multiblock
v2 directories.  This test shows it ... patches to fix
it soon to follow.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Mark Tinguely <tinguely@sgi.com>
9 years agoxfstests: xfs_tosspages() test addition
Andrew Dahl [Wed, 14 Nov 2012 18:57:35 +0000 (18:57 +0000)]
xfstests: xfs_tosspages() test addition

Tests the XFS_IOC_ZERO_RANGE ioctl by way of the "xfs_io zero" utility
to ensure it is tossing the expected ranges.

The ranges tested are [0,1] [0,4095] [0,4096] [0,4097] [4095,8191]
  [4095,8192] [4095,8193] [4096,8192] [1024,4096]

Signed-off-by: Andrew Dahl <adahl@sgi.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Mark Tinguely <tinguely@sgi.com>
9 years agoxfstests: get return value in seek_sanity_test
wenqing.lz [Sun, 21 Oct 2012 13:15:09 +0000 (13:15 +0000)]
xfstests: get return value in seek_sanity_test

In seek_sanity_test getting return value is missing. Thus we couldn't
get the result unless someone read the log file (e.g. # 285).

Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Reviewed-by: Jie Liu <jeff.liu@oracle.com>
Signed-off-by: Mark Tinguely <tinguely@sgi.com>
9 years agoRevert "xfstests: optionally run all tests under quota"
Rich Johnston [Tue, 6 Nov 2012 20:23:59 +0000 (14:23 -0600)]
Revert "xfstests: optionally run all tests under quota"

Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
This reverts commit edd6bcf9c478036df9056df05924f791a0d322dd which caused
the following tests to fail:

142.out.bad:Can't initialize the DMAPI
143.out.bad:Can't initialize the DMAPI
144.out.bad:Can't initialize the DMAPI
145.out.bad:Can't initialize the DMAPI
146.out.bad:Can't initialize the DMAPI
147.out.bad:Can't initialize the DMAPI
150.out.bad:Can't initialize the DMAPI
155.out.bad:Can't initialize the DMAPI
156.out.bad:Can't initialize the DMAPI
157.out.bad:Can't initialize the DMAPI
158.out.bad:Can't initialize the DMAPI
161.out.bad:Can't initialize the DMAPI
168.out.bad:Can't initialize the DMAPI
175.out.bad:Can't initialize the DMAPI
176.out.bad:Can't initialize the DMAPI
185.out.bad:Can't initialize the DMAPI

9 years agoxfstests: Update .gitignore
Ben Myers [Tue, 30 Oct 2012 22:12:52 +0000 (17:12 -0500)]
xfstests: Update .gitignore

Root entries to where they only can occur.

Add patches/ and .pc/ for quilt.

Add /src/seek_copy_test and /src/seek_sanity_test.

Reported-by: Jan Engelhardt <jengelh@inai.de>
Signed-off-by: Ben Myers <bpm@sgi.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
9 years agoxfstests: build: use new autoconf constructs
Jan Engelhardt [Tue, 30 Oct 2012 22:12:51 +0000 (17:12 -0500)]
xfstests: build: use new autoconf constructs

Looks like AC_CONFIG_FILES existed since 2.14 already.

Signed-off-by: Jan Engelhardt <jengelh@inai.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ben Myers <bpm@sgi.com>
9 years agoxfstests 250: remove unwanted new line in 250.out
Eryu Guan [Fri, 19 Oct 2012 03:44:44 +0000 (03:44 +0000)]
xfstests 250: remove unwanted new line in 250.out

Additional new line at the end of 250.out will fail the test, remove it.

Signed-off-by: Eryu Guan <eguan@redhat.com>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstests: test ext4 statfs
Eric Sandeen [Thu, 25 Oct 2012 17:19:24 +0000 (17:19 +0000)]
xfstests: test ext4 statfs

Calculating free blocks in ext[234] is surprisingly hard, since
by default we report "bsd" style df which doesn't count filesystem
"overhead" blocks as used.

With a lot of code dedicated to sorting out what to report as
free, things tend to go wrong surprisingly often.

Here's a test to actually try to stop the next regression.  ;)

NB: For bsddf, the kernel currently does not count journal blocks
as overhead; it probably should.  But the test below looks to have
the result within 1% of perfection, so it still passes even if
the kernel doesn't count the journal against free blocks.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstests: more 214 updates
Eric Sandeen [Tue, 12 Jan 2010 23:16:53 +0000 (23:16 +0000)]
xfstests: more 214 updates

A few more updates for the 214 fallocate test, since
ext4 is having some fallocate trouble these days.

First off, updated 214.out was missing from the previous
commit to this file.

Second, run each test against a new filename and don't
remove it, so that the post-test fs check will have
more work to do.

Third, and a newly-found corruption case for ext4.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstests: optionally run all tests under quota
Eric Sandeen [Tue, 9 Feb 2010 19:26:31 +0000 (19:26 +0000)]
xfstests: optionally run all tests under quota

This patch might be a little heavy handed, but it seems to
work; if you set USE_QUOTA=1 in your environment, all
tests should be run with quota on and enabled.

This will hopefully help shake out some of the ext4
quota problems, although one needs to keep an eye
on the console to see whether warnings scroll by.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstests: resolve symlinked devices to real paths
Eric Sandeen [Tue, 8 Jun 2010 20:03:39 +0000 (20:03 +0000)]
xfstests: resolve symlinked devices to real paths

If you try running xfstests on lvm volumes which are symlinks,
it'll fail to run several tests because our _require_scratch
framework ultimately uses lstat not stat, and does not think
the lvm device (which is usually a symlink to a dm-X device)
is a block device.  Sigh.

Last try at this - just resolve any symlinked devicenames
into their realpath(3) in common.config.

This actually seems to work.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstests: add local.config example
Eric Sandeen [Thu, 16 Sep 2010 18:07:47 +0000 (18:07 +0000)]
xfstests: add local.config example

I think it'd be useful to have a local.config template in the
git repo, to avoid having to re-read the README each time
to remember the required environment variable names.

Thoughts?  Am I just lazy?  :)

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstests: Assume yes when test device is not partitioned
Prasad Joshi [Sat, 3 Sep 2011 08:33:19 +0000 (08:33 +0000)]
xfstests: Assume yes when test device is not partitioned

If an entire device used for file system creation, the mkfs.ext2/3/4
asks for confirmation before proceeding. Since the device is
configured for testing it is safe to assume positive response
during mkfs.

The patch also replaces hard coded mkfs path with MKFS_PROG variable.

Signed-off-by: Chaitanya Kulkarni <chaitanyakulkarni15@gmail.com>
Signed-off-by: Prasad Joshi <prasadjoshi.linux@gmail.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstests: rename configure.in to configure.ac
Ben Myers [Thu, 25 Oct 2012 18:08:07 +0000 (13:08 -0500)]
xfstests: rename configure.in to configure.ac

configure.in has been renamed to configure.ac.  Update the Makefile.

Signed-off-by: Ben Myers <bpm@sgi.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
9 years agoxfstests: install shared libs with +x bits
Mike Frysinger [Mon, 24 Sep 2012 23:39:38 +0000 (19:39 -0400)]
xfstests: install shared libs with +x bits

These are shared libs w/executable code, so make sure they have +x bits
set on them.  Some kernels will proactively disallow executable mmaps if
the files lack +x bits.  It's also the right thing to do.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Reviewed-by: Ben Myers <bpm@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
9 years agoxfstests: respect DESTDIR when installing
Mike Frysinger [Mon, 24 Sep 2012 23:39:37 +0000 (19:39 -0400)]
xfstests: respect DESTDIR when installing

This makes the `make install DESTDIR=...` form work.  It keeps support
for all previous forms too (like DIST_ROOT).

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Reviewed-by: Ben Myers <bpm@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
9 years agoxfstests: rename configure.in to configure.ac
Mike Frysinger [Mon, 24 Sep 2012 23:39:36 +0000 (19:39 -0400)]
xfstests: rename configure.in to configure.ac

Newer autotools warn and start to error with the older name.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Reviewed-by: Ben Myers <bpm@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
9 years agoxfstests: Do not allow step to be zero
Lukas Czerner [Tue, 16 Oct 2012 09:41:34 +0000 (09:41 +0000)]
xfstests: Do not allow step to be zero

Currently 'step' variable which is used as length of the range to
discard can be zero. However it would result in error returned by the
fstrim.

Fix this by forcing 'step' to be at least 4KB.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstests: Test FITRIM where length is smaller than FSB
Lukas Czerner [Tue, 16 Oct 2012 09:41:33 +0000 (09:41 +0000)]
xfstests: Test FITRIM where length is smaller than FSB

This tests corner case in FITRIM implementation where range size is
smaller than file system block or zero. In this case FITRIM should fail
with EINVAL.

The problem was spotted in xfs and ext4 where in case of length = 0 the
'end' variable underflowed. In case of length smaller than 1 FSB FITRIM
finished successfully, but we really should rather return EINVAL in both
cases.

(This patch has to be applied after 'Use upstream version of fstrim
instead of the local one')

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoUse upstream version of fstrim instead of the local one
Tomas Racek [Tue, 9 Oct 2012 13:24:10 +0000 (13:24 +0000)]
Use upstream version of fstrim instead of the local one

Local version of fstrim was dropped so that we depend on upstream
version which is now available via FSTRIM_PROG. _require_fstrim was
added to check if fstrim is available in the system and
_test_batched_discard to check if we can run fstrim on certain
mountpoint.

Also tests 251 and 260 were modified to reflect this change.

Signed-off-by: Tomas Racek <tracek@redhat.com>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstests 068: Add mmap load
Eric Sandeen [Fri, 28 Sep 2012 03:33:45 +0000 (03:33 +0000)]
xfstests 068: Add mmap load

Test 068 is the go-to test for freeze deadlock coverage;
unfortunately it only uses fsstress, which doesn't do any
mmap IO.

Using the existing fstest binary gets us a cheap mmap
exerciser as well.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Mark Tinguely <tinguely@sgi.com>
9 years agoxfstests: fix a compile warning at seek_sanity_test.c
Jeff Liu [Sat, 2 Jun 2012 14:33:06 +0000 (14:33 +0000)]
xfstests: fix a compile warning at seek_sanity_test.c

Fix the compiler report warning at seek_sanity_test.c:
seek_sanity_test.c:46:3: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'int'

Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Signed-off-by: Mark Tinguely <tinguely@sgi.com>
9 years agoxfstests: improve test 286 for repeated unwritten/hole extents.
Jeff Liu [Tue, 3 Jul 2012 15:41:10 +0000 (15:41 +0000)]
xfstests: improve test 286 for repeated unwritten/hole extents.

Enlarge the test coverage of 286 to includes file mapping with repeated
hole/unwritten/unwritten_without_data/data intersections.

Those two new sub-tests could help verifying the current seek_data/seek_hole
improvements.

Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Mark Tinguely <tinguely@sgi.com>
 286 |   87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 86 insertions(+), 1 deletion(-)

9 years agoxfstests: add _require_freeze and minor cleanups
Eric Sandeen [Wed, 19 Sep 2012 22:53:56 +0000 (17:53 -0500)]
xfstests: add _require_freeze and minor cleanups

More filesystems have grown freeze capability, so rather than
hardcoding several in _supported_fs, make tests 068 and 280
generic and then add a new _require_freeze() which checks whether
the fs under test can be frozen before beginning the test.

Minor other cleanups to 280:
- remove extra _supported_fs line
- clear $seq.full before beginning

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Ben Myers <bpm@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
9 years agoxfstests: 275, Don't remove all the files in SCRATCH_MNT.
Tao Ma [Fri, 14 Sep 2012 11:03:12 +0000 (19:03 +0800)]
xfstests: 275, Don't remove all the files in SCRATCH_MNT.

After the volume is mkfsed, it should have no other files that
need to be rmed. And what's more, it makes ext4 complain since
lost+found is also removed.

So remove this useless "rm -rf $SCRATCH_MNT/*".

Signed-off-by: Tao Ma <boyu.mt@taobao.com>
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
Signed-off-by: Ben Myers <bpm@sgi.com>
9 years agoxfstests: fix TEST_MNT typos (should be TEST_DIR)
Brian Foster [Mon, 17 Sep 2012 15:15:35 +0000 (11:15 -0400)]
xfstests: fix TEST_MNT typos (should be TEST_DIR)

We mistakenly use TEST_MNT in tests 222 and 253, which is undefined.
Replace these two instances with TEST_DIR.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
9 years agoxfstests: Make test 272 work for ext3
Jan Kara [Thu, 16 Aug 2012 09:14:35 +0000 (11:14 +0200)]
xfstests: Make test 272 work for ext3

ext3 does not support direct IO for files with data journalling. This
confuses test 272. Make the test check whether open succeeds and perform
the writing only if it does.

Thanks for Dave Chinner for suggesting a simpler way to fix the test.

Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
9 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev
Ben Myers [Thu, 13 Sep 2012 20:01:58 +0000 (15:01 -0500)]
Merge branch 'master' of git://git./fs/xfs/xfstests-dev

Conflicts:
285
285.out
group

Moved '285: Test xfs projid32bit functionality a bit more extensively' to 287.

9 years ago285: Test xfs projid32bit functionality a bit more extensively
Eric Sandeen [Wed, 12 Sep 2012 18:53:27 +0000 (13:53 -0500)]
285: Test xfs projid32bit functionality a bit more extensively

The test covers several areas including enabling projid32bit
functionality dynamically by xfs_admin, dumping, restoring, quota
reporting and xfs_db projid values reporting.

This test case hits a bug with xfsdump/xfsrestore process on a
projid32bit enabled filesystem.

Eric Sandeen: change {16,32}less filenames to {16,32}bit, add quick group

Signed-off-by: Boris Ranto <ranto.boris@gmail.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
9 years ago275: Fix to test and pass properly
Eric Sandeen [Tue, 11 Sep 2012 01:46:10 +0000 (20:46 -0500)]
275: Fix to test and pass properly

This is a significant rework of 275, which made too many
assumptions about details of space usage and failed on several
filesystems (it passed on xfs, but only by accident).

This new version tries to leave about 256k free, then tries
a single 1M IO, and fails only if 0 bytes are written.

It also sends a lot more to $seq.full for debugging on failure,
doesn't rm -rf $SCRATC_MNT, and fixes a few other stylistic things.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
9 years agoxfstests: Use installed libraries only
Rich Johnston [Tue, 28 Aug 2012 17:26:08 +0000 (17:26 +0000)]
xfstests: Use installed libraries only

The xfstests autotools currently searches locally in
   ../{acl,attr,dmapi,xfsprogs}
for libraries that xfstests depends upon, in addition to searching for them in
their regular installed locations on a system, e.g. /usr/lib.  It appears this
feature was added (but not documented) so that xfs developers can build and run
xfstests without having to install the libraries.  This can lead to trouble if
you expect that xfstests is using the versions of the libraries installed on
the system.

If a local library was found and not installed, libtool will create a wrapper
script to call the binary from the .libs directory.  This patch will remove
searching for local libraries so that the installed libraries are always used.

Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Ben Myer <bpm@sgi.com>
9 years agoxfstests: Use libtool to install applications
Rich Johnston [Tue, 28 Aug 2012 17:26:07 +0000 (17:26 +0000)]
xfstests: Use libtool to install applications

This patch replaces the INSTALL macro with LTINSTALL so that libtool is used
to install the applications.  Libtool will install the binary from the proper
location and display a warning if any shared library dependancies are not
properly installed.  This ensures that a libtool wrapper shell script is not
installed in place of application when libtool wrappers are being used.

Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Ben Myer <bpm@sgi.com>
9 years agoxfstests: speed up 227 by using preallocation
Dave Chinner [Thu, 26 Jul 2012 08:35:06 +0000 (08:35 +0000)]
xfstests: speed up 227 by using preallocation

Test 227 (fsr test) creates fragmented fre space by doing lots of
small writes to sparse offsets ni a file. This seeks the disk heads
around a lot writing data. We don't need to write data - just
trigger allocation. Hence use preallocation instead of data writes
and run at allocation speed rather than data write speed.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstests: _check_quota_usage needs to unmount to get XFS quotacheck
Dave Chinner [Thu, 26 Jul 2012 08:35:05 +0000 (08:35 +0000)]
xfstests: _check_quota_usage needs to unmount to get XFS quotacheck

Remount won't run a quota check - it's only done during mount. Hence
all quota tests using this check function are not actually
validating XFS filesystems right now.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstests: loop devices vs umount stupidity
Dave Chinner [Thu, 26 Jul 2012 08:35:04 +0000 (08:35 +0000)]
xfstests: loop devices vs umount stupidity

Unmounting a fileystem mounted on a loop device doesn't always tear
down the loop device. Its racy, and it causes tests to randomly
fail.

To avoid that, we have to use umount -d to ensure that we destroy
loop devices under filesystems in case the kernel doesn't tear it
down automatically to prevent the test from failing.  However, if
the kernel does tear it down automatically, umount now issues a
warning that it couldn't tear down the loop device because it
couldn't find it, and that causes the test to fail. *facepalm*

So, convert all the loop device unmounts to use -d, and direct the
output of all of them to /dev/null.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoxfstests: test 110 sometimes fails to unmount scratch dev
Dave Chinner [Thu, 26 Jul 2012 08:35:03 +0000 (08:35 +0000)]
xfstests: test 110 sometimes fails to unmount scratch dev

It runs a bunch of rm processes in the background, then immediately
calls _check_scratch_fs without waiting for them to complete, hence
the unmount can fail with a busy filesystem error.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
9 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev
Ben Myers [Wed, 8 Aug 2012 18:42:46 +0000 (13:42 -0500)]
Merge branch 'master' of git://git./fs/xfs/xfstests-dev

9 years agocommon.attr: get block size of test fs not root fs
Eryu Guan [Wed, 4 Jul 2012 03:11:10 +0000 (22:11 -0500)]
common.attr: get block size of test fs not root fs

stat -f $TEST_DEV shows block size of the fs where $TEST_DEV
resides, usually it is the root fs. This will fail 020 on non-4096 block
size ext2/3/4, also 4096 block size ext2/3/4 on ppc64.

Instead, stat -f $TEST_DIR will show block size of the fs to be tested.

Tested and passed on ext2/3/4, xfs, btrfs with all supported block size.

Cc: Eric Sandeen <esandeen@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
9 years agocommon.dump: filter out latest xfsdump version messages
Brian Foster [Mon, 18 Jun 2012 16:48:00 +0000 (11:48 -0500)]
common.dump: filter out latest xfsdump version messages

The latest version of xfsdump/restore (3.1.0) causes dump tests
to complain. Fix up the filter to include a wider selection of
version numbers.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
9 years ago016: Do not discard blocks at mkfs time
Boris Ranto [Wed, 30 May 2012 22:39:29 +0000 (17:39 -0500)]
016: Do not discard blocks at mkfs time

The test 016 fills scratch device with some data and then creates xfs fs
on the scratch device. Later, the test assumes that the previously
written data are still written there and checks for them at specific
locations. On ssd drive this will lead to a failure since the blocks are
discarded by default when the mkfs command is run.
This is a more verbose version of the previous patch.
This simple patch that adds -K to stop the discarding (if the mkfs
command supports it) fixed the issue for me:

Signed-off-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
9 years ago030: fix for new xfs_repair versions
Mark Tinguely [Wed, 23 May 2012 17:21:28 +0000 (12:21 -0500)]
030: fix for new xfs_repair versions

Given that we now drop invalid unlinked inode lists there is no message
to capture.  Also add a sed expression to avoid failures on old repair
versions.

Signed-off-by: Mark Tinguely <tinguely@sgi.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
9 years ago273: fix failure due to lack of inodes
Jan Kara [Thu, 17 May 2012 21:33:23 +0000 (16:33 -0500)]
273: fix failure due to lack of inodes

Test 273 fails for me due to lack of inodes (ext? filesystem is not configured
to have enough inodes for being filled up by 4k files). So change the test
to create larger files so that we don't hit this limit.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
9 years ago274: Many fixups
Eric Sandeen [Tue, 15 May 2012 20:20:05 +0000 (15:20 -0500)]
274: Many fixups

This changes quite a few things about 274 to make it more robust
and useful.

* More comments
* Use xfs_io for falloc (not all systems have /usr/bin/fallocate)
* use _require_xfs_io_falloc to be sure system & fs support preallocation
* Do not remove all of the files in $SCRATCH_MNT/ post-mkfs
* Do not remove all of the files in $SCRATCH_MNT/ on completion
  (this breaks e2fsck when lost+found/ goes missing)
* Don't cd into $SCRATCH_MNT
* Try harder to completely fill the fs
* Use a larger preallocated space, and write into all of it (hopefully
  avoid just accidentally succeeding by writing into fs reserved
  space that may be there)
* Save more output in $seq.full instead of /dev/null
* Fill preallocated space diabolically

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Reviewed-by: Jan Kara <jack@suse.cz>
9 years ago273: fix of reading scratch size and removing lost+found
Tom Marek [Tue, 15 May 2012 15:48:47 +0000 (10:48 -0500)]
273: fix of reading scratch size and removing lost+found

There were two reasons why test 273 was failing. Firstrly, when running on
ext4 fs it was removing everything from SCRATCH_MNT directory at the beginning
of tests including the lost+found directory. This caused error while checking
scratch fs after finishing test. Secondly, obtaining of the partition size was
not counting with with behaviour of df utility which may split the line containg
informations about one partition when it is too long thus it may have returned
nothing.

First problem was solved with removing all unnecessary rm -rf commands and the
second one was fixed with alternative awk script which is able to deal with
any line splitting possible. Also 'umount $SCRATCH_DEV' was substituted for
'_scratch_unmount'.

Cc: sandeen@sandeen.net
Signed-off-by: Tom Marek <tmarek@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
9 years agoREADME: add 'make install' to building steps
Tom Marek [Tue, 15 May 2012 15:48:43 +0000 (10:48 -0500)]
README: add 'make install' to building steps

There was no mention of 'make install' step in the README file.
Run make install added to section 'Building Linux'.

Signed-off-by: Tom Marek <tmarek@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
9 years agoxfstests: introduce 286 for SEEK_DATA/SEEK_HOLE copy test
Jeff Liu [Sun, 19 Feb 2012 14:51:43 +0000 (22:51 +0800)]
xfstests: introduce 286 for SEEK_DATA/SEEK_HOLE copy test

Introduce 286 for SEEK_DATA/SEEK_HOLE copy tests.

Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Reviewed-by: Rich Johnston <rjohnston@sgi.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
9 years agoxfstests: introduce 285 for SEEK_DATA/SEEK_HOLE sanity test
Jeff Liu [Sun, 19 Feb 2012 14:44:15 +0000 (22:44 +0800)]
xfstests: introduce 285 for SEEK_DATA/SEEK_HOLE sanity test

Introduce 285 for SEEK_DATA/SEEK_HOLE sanity tests.

Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
9 years agoadd btrfs online defragment test
Liu Bo [Tue, 14 Feb 2012 10:50:24 +0000 (18:50 +0800)]
add btrfs online defragment test

Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years agoxfstests: add tests 281-283 for old xfsdump format
Bill Kendall [Wed, 28 Mar 2012 20:09:40 +0000 (15:09 -0500)]
xfstests: add tests 281-283 for old xfsdump format

Add three tests for verifying compatibility with xfsdump format 2.

Test 281 generates a format 2 dump and restores it.

Test 282 does a restore of a level 0 dump in the old dump format
followed by a restore of a level 1 dump in the current dump format.

Test 283 does a restore of a level 0 dump in the current dump format
followed by a restore of a level 1 dump in the old dump format.

Signed-off-by: Bill Kendall <wkendall@sgi.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years ago071: make this test work as expected on Linux
Peng Haitao [Thu, 15 Mar 2012 02:25:46 +0000 (10:25 +0800)]
071: make this test work as expected on Linux

When offset + length is overflow of xfs_io builtin pread and pwrite in linux,
the error message should be "Invalid argument".

In 32_bit, offset + length should cause pread and pwrite to error, So the
out should be OK.

The patch fix as following:
  - "pwrite64: Invalid argument" will be replaced with "pwrite64: File too large"
  - "pread64: Invalid argument" will be replaced with "read 0/xxx bytes at offset <OFFSET>"
  - delete _filter_xfs_io
  - add auto group
  - add 071.out.32

Signed-off-by: Peng Haitao <penght@cn.fujitsu.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years ago020: make this xattr test generic
Eric Sandeen [Fri, 27 Jan 2012 18:34:31 +0000 (12:34 -0600)]
020: make this xattr test generic

020 can be made generic by limiting the total attribute space
used in the tests as appropriate.  Unless we know we have a
large-xattr-capable fs, limit total space to a bit under one
fs block.

Now passes for me on ext3, ext4, btrfs, as well as xfs.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years agoadd freeze and dangerous groups
Eric Sandeen [Fri, 2 Mar 2012 16:56:17 +0000 (10:56 -0600)]
add freeze and dangerous groups

Add 2 new test groups:

freeze: tests which test filesystem freeze
dangerous: tests which may hang or oops

The 2nd may be useful for automated testing to do i.e.

./check -g auto -x dangerous
./check -g auto,dangerous

to try to get fuller coverage before running into tests
which may panic or hang the box and stop the test cycle.

I doubt I have all the potential dangerous tests, but
they can be added later when found.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years ago251: make fstrim call a bit more random
Lukas Czerner [Thu, 1 Mar 2012 08:15:16 +0000 (09:15 +0100)]
251: make fstrim call a bit more random

To cover cases when fstrim arguments are not block/block group/file
system size aligned, we can be a bit more random. This commit changes
fstrim argument computing to use $RANDOM bash variable in order to have
different minlen, start, len argument settings and change the full fs
fstrim to be called randomly as well.

Also make kill and wait not complain about non existent process, since
it may have already finished before we attempt to kill it and wait for
it. No reason to fail the test.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years ago050: update inode softlimit output
Ben Myers [Wed, 22 Feb 2012 18:27:14 +0000 (12:27 -0600)]
050: update inode softlimit output

With Mitsuo Hayasaka's kernel patch "xfs: change available ranges of softlimit
and hardlimit in quota check", xfs quota behavior is slightly different.

This needs to be reflected in test 050.  The new behavior is that we only start
the timer when we're above soft inode quota, and we don't start the timer when
we're at or below.

Signed-off-by: Ben Myers <bpm@sgi.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years ago218: support btrfs
Liu Bo [Mon, 6 Feb 2012 08:27:48 +0000 (16:27 +0800)]
218: support btrfs

Btrfs progs has a defragment tool, so we can test 218 on btrfs now.

Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years ago251: fix cp -axT problem
Liu Bo [Mon, 6 Feb 2012 08:27:47 +0000 (16:27 +0800)]
251: fix cp -axT problem

When I ran xfstests, 251 got failed cause I use a symlink and
"cp -axT" did not work as wish:
cp: cannot overwrite directory `/mnt/scratch/1' with non-directory

With this patch, 251 has passed.

Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years agofsx: fix msync parameters
Curt Wohlgemuth [Tue, 7 Feb 2012 19:16:06 +0000 (11:16 -0800)]
fsx: fix msync parameters

This explicitly sends MS_SYNC as the flag to msync() in
fsx.c, in domapwrite().  Without this flag, the memory
written to the mmap'ed region will not be flushed to disk;
in fact, on Linux, calling msync() with a '0' or MS_ASYNC
flag is a no-op.

Signed-off-by: Curt Wohlgemuth <curtw@google.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years ago235: do smaller test IO
Eric Sandeen [Thu, 29 Mar 2012 03:26:29 +0000 (22:26 -0500)]
235: do smaller test IO

Test 235 fails on ext2/ext3 with 1024 fs block size because a
16k write uses an extra metadata block.  If we do a smaller write
this won't happen.

Reported by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
9 years agoclean up scsi_debug module handling
Eric Sandeen [Fri, 9 Mar 2012 17:36:54 +0000 (11:36 -0600)]
clean up scsi_debug module handling

2 little fixes to common scsi_debug handling.

* don't consider the scsi_debug module in use in
  _require, unless it can't be rmmod'd
* don't try to rmmod it in _put unless it is currently
  loaded

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Ben Myers <bpm@sgi.com>
9 years ago280: test freeze deadlock w/ quotas
Eric Sandeen [Thu, 8 Mar 2012 23:33:16 +0000 (17:33 -0600)]
280: test freeze deadlock w/ quotas

This tests the quota+freeze hang scenario described & fixed in
dcdbed85 quota: Fix deadlock with suspend and quotas

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Jan Kara <jack@suse.cz>
9 years ago279: test mkfs with various sector sizes & alignments
Eric Sandeen [Thu, 8 Mar 2012 23:29:40 +0000 (17:29 -0600)]
279: test mkfs with various sector sizes & alignments

This test uses the scsi_debug module to test mkfs against
various physical & logical sector sizes, and with aligned
and unaligned devices.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
9 years agobefore test execution, print test number to syslog
Stefan Behrens [Thu, 8 Mar 2012 22:27:16 +0000 (16:27 -0600)]
before test execution, print test number to syslog

When the xfstests are executed in a batch (like "check 001-299")
and produce syslog output, it is helpful to know which test was
causing the output. Therefore each time a test is started, a
syslog message is generated that contains the number of the
xfstest.

Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
9 years ago113: add testing for O_DIRECT + O_SYNC
Jeff Moyer [Fri, 2 Mar 2012 20:17:07 +0000 (14:17 -0600)]
113: add testing for O_DIRECT + O_SYNC

This patch adds a couple more aio-stress runs to test 113.  The first
simply adds -S, to test out AIO+DIO+O_SYNC.  The second adds -S and -o
2, which directs aio-stress to only perform the random write test.
These two tests helped identify several bugs in ext4.

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
9 years ago256: use more specific grep for file size
Eric Sandeen [Fri, 17 Feb 2012 20:43:12 +0000 (14:43 -0600)]
256: use more specific grep for file size

Removing the "-F" flag in xfs_io changed stat output.

Before the change when -F was used, whether or not the file
was on xfs, it skipped the extra FSGEOM call.  Now that -F is
removed, it calls FSGEOM if the file is on an xfs fs.  The "size"
grep in test 256 was a bit too loose and matched 2 lines if the
FSGEOM output was present, breaking the test.

A more specific grep for stat.size fixes this.

Reported-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
9 years ago068: run fsstress in read/write mode
Eric Sandeen [Wed, 8 Feb 2012 18:30:07 +0000 (12:30 -0600)]
068: run fsstress in read/write mode

Jan Kara was testing filesystem freeze, and was consistently locking
up, although my tests of 068 were passing.  He pointed out that
he was running in read/write mode, and it was atime updates causing
the trouble.  Sure enough, dropping "-w" from fsstress locked me up
too.  Change this so we get better (and more realistic) coverage.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
cc: Jan Kara <jack@suse.cz>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
9 years agofsstress: make sync a write op
Eric Sandeen [Mon, 6 Feb 2012 06:00:52 +0000 (00:00 -0600)]
fsstress: make sync a write op

I was running 068 to test freeze changes, and realized that
"sync" is not in the op list when "-w" (write ops) is specified,
although fsync & fdatasync are.  It seems to me that sync should
be a default write op as well.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
9 years ago271: use xfs_io to truncate file instead of truncate(1)
Eryu Guan [Fri, 27 Jan 2012 19:15:30 +0000 (13:15 -0600)]
271: use xfs_io to truncate file instead of truncate(1)

Distros(eg. RHEL5) with older version of coreutils have no truncate(1)
command. Use xfs_io instead to avoid "command not found" failures.

Signed-off-by: Eryu Guan <guaneryu@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
9 years ago278: Ensure lost+found is not created with wrong link count
Eric Sandeen [Fri, 27 Jan 2012 19:05:07 +0000 (13:05 -0600)]
278: Ensure lost+found is not created with wrong link count

xfs_repair was leaving lost+found directory with a wrong link count when a
cleaned inode was re-used to create lost+found. This test case confirm that,
after xfs_repair is executed, the lost+found inode is left in a consistent
state.

Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
9 years ago062: Sort recursive getfattr output
Eric Sandeen [Fri, 27 Jan 2012 18:28:20 +0000 (12:28 -0600)]
062: Sort recursive getfattr output

Test 062 was made "generic" a while back, but it fails on any filesystem
which returns getfattr -R results (aka readdir results) in something
other than inode-order.

With a little awk-fu we can sort the records from getfattr -R so that
the output is the same for xfs as well as ext4, etc.

Also filter out lost+found which extN creates at mkfs time, but
some other filesystems do not.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
9 years agoxfstests: mount all filesystem typess with selinux context when needed
Eric Sandeen [Fri, 27 Jan 2012 18:26:26 +0000 (12:26 -0600)]
xfstests: mount all filesystem typess with selinux context when needed

For some reason, non-xfs filesystems weren't getting mounted with
the selinux context; perhaps because none of the xattr tests used
to work on anything but xfs?

Anyway, 062 fails for extN unless we mount with the fs-wide
context.

So export SELINUX_MOUNT_OPTIONS for all filesystems.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
9 years ago277: new test to verify on disk ctime update for chattr
Li Zefan [Thu, 22 Dec 2011 03:55:03 +0000 (11:55 +0800)]
277: new test to verify on disk ctime update for chattr

We had a bug in btrfs which can be triggered by this test.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years agouse btrfsck to check btrfs filesystems
Miao Xie [Wed, 14 Dec 2011 07:35:20 +0000 (15:35 +0800)]
use btrfsck to check btrfs filesystems

We failed to get fsck program to check the btrfs file system, it is
because btrfs uses its independent check tool which is named btrfsck
to check the file system, so the common checker -- fsck -- could not
find it, and reported there is no checker.

This patch fix it by using btrfsck directly.

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years ago068: run on more filesystems
Masayoshi MIZUMA [Wed, 14 Dec 2011 02:22:10 +0000 (11:22 +0900)]
068: run on more filesystems

update 068 to run other filesystems, ext3, ext4 and btrfs because
xfs_freeze works on the filesystems.

Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years ago276: fix up various issues
Jan Schmidt [Wed, 4 Jan 2012 17:54:46 +0000 (18:54 +0100)]
276: fix up various issues

This commit fixes bd8ee45c. Changes:
- added a _require_btrfs helper function
- check for filefrag with _require_command
- always use _fail in case of errors
- added some comments
- removed $fresh code
- don't set FSTYP

Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years agoxfstests: 276: new test to ensure btrfs backref integrity
Jan Schmidt [Wed, 7 Dec 2011 13:33:53 +0000 (14:33 +0100)]
xfstests: 276: new test to ensure btrfs backref integrity

This is a btrfs specific scratch test checking the backref walker. It
creates a file system with compressed and uncompressed data extents, picks
files randomly and uses filefrag to get their extents. It then asks the
btrfs utility (inspect-internal) to do the backref resolving from fs-logical
address (the one filefrag calls "physical") back to the inode number and
file-logical offset, verifying the result.

Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years agoxfstests: ln failure output has changed again
Dave Chinner [Tue, 6 Dec 2011 11:16:59 +0000 (22:16 +1100)]
xfstests: ln failure output has changed again

Recent coreutils packages have changed the failure output of ln(1)
(again!) to be more verbose, breaking the filter in test 103:

-ln: creating symbolic link `SCRATCH_MNT/nosymlink/target' to `SCRATCH_MNT/nosymlink/source': Operation not permitted
+ln: failed to create symbolic link `SCRATCH_MNT/nosymlink/target' to `SCRATCH_MNT/nosymlink/source': Operation not permitted

Fix it.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years agoxfstests: test 110 sometimes fails to unmount scratch dev
Dave Chinner [Tue, 6 Dec 2011 11:16:58 +0000 (22:16 +1100)]
xfstests: test 110 sometimes fails to unmount scratch dev

It runs a bunch of rm processes inteh background, tehn immediately
calls _check_scratch_fs without waiting for them to complete, hence
the unmount can fail with abusy filesystem error.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years agoxfstests: check if qa user can execute commands
Jan Schmidt [Tue, 6 Dec 2011 09:56:29 +0000 (10:56 +0100)]
xfstests: check if qa user can execute commands

_require_user only checks if the qa user exists in /etc/passwd. It may exist
though still not be able to execute anything (e.g. with a /bin/false shell).

_user_do cannot determine failure to execute the given command, as it uses
_user_do_filter for post-processing which succeeds even if the command
fails. Thus, the check should be performed by _require_user.

Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years agoxfstest: change test output to specify 4TB not 2TB
Alain Renaud [Sat, 26 Nov 2011 14:15:25 +0000 (09:15 -0500)]
xfstest: change test output to specify 4TB not 2TB

 This is a simple modification to the test 259. The script test 4TB
 Filesystem but state that it is testing 2TB filesystem. This
 modification simply change the the output message.

Signed-off-by: Alain Renaud <arenaud@sgi.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years agoxfstests: add aiodio helper functions
Hidetoshi Seto [Wed, 23 Nov 2011 02:39:08 +0000 (11:39 +0900)]
xfstests: add aiodio helper functions

For 198, 239 and 240, use _require_aiodio to fail gracefully if
required program was not built.

For 207-212, use _run_aiodio that includes _require_aiodio and
kicks specified aio-dio program, to make code expressly simple.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
9 years ago254: avoid output mismatch due to space cache
Li Zefan [Tue, 22 Nov 2011 05:19:39 +0000 (13:19 +0800)]
254: avoid output mismatch due to space cache

This reverts commit a0c92a5871082c0aa6a7caae496e67a6e57bb0b6 (disable
space cache), as option nospace_cache was newly introduced in linux-3.2,
so we'll fail to mount btrfs in older kernels.

As an alternative fix, we just list subvolme names, don't assume
what ID numbers those subvolumes will have.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
10 years ago254: disable space cache
Li Zefan [Fri, 18 Nov 2011 08:43:47 +0000 (16:43 +0800)]
254: disable space cache

I can't pass 254, and below is the output:

254 3s ... - output mismatch (see 254.out.bad)
...
 ID 256 top level 5 path snap
-ID 257 top level 5 path subvol
+ID 258 top level 5 path subvol

When space cache is enabled (and now mkfs.btrfs always enables it),
there will be some space cache inodes in the root tree, and they
consume some IDs, and that's why "subvol" has the ID 258 but not 257.

Just disable space cache for this test case.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
10 years ago254: fix to pass subvolid=0 to set default btrfs subvolme
Li Zefan [Fri, 18 Nov 2011 03:26:18 +0000 (11:26 +0800)]
254: fix to pass subvolid=0 to set default btrfs subvolme

The usage is 'btrfs subvolume set-default <id> <path>', not
'<path> <path>'.

The code happens to work because strotoull(path) returns 0, but it
will fail if in the future we check the argument more strict in
btrfs-progs.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
10 years agoxfstests: detect gdbm library correctly
Dave Chinner [Tue, 15 Nov 2011 20:56:37 +0000 (07:56 +1100)]
xfstests: detect gdbm library correctly

Debian unstable has move the location of the gdbm libraries as part
of it's multi-arch conversion. The libraries are now only found by
the configured library search path in /etc/ld.conf.d, so change the
autoconf macros to test and find the libraries by link tests rather
than hard coding library paths when a header is found.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
10 years ago275: add a write and reserve test
WuBo [Tue, 8 Nov 2011 03:41:45 +0000 (11:41 +0800)]
275: add a write and reserve test

This test is for write-posix test. If writing a file when the disk is almost
full, the posix wants the call to write as much as possible but not none.

quote the POSIX:
If a write() requests that more bytes be written than there is room for
(for example, [XSI] [Option Start] the process' file size limit or
[Option End] the physical end of a medium), only as many bytes as there
is room for shall be written. For example, suppose there is space for 20
bytes more in a file before reaching a limit. A write of 512 bytes will
return 20. The next write of a non-zero number of bytes would give a
failure return (except as noted below).

Signed-off-by: Wu Bo <Wu.Bo@cn.fujitsu.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
10 years ago274: add a prealloc and reserve test
WuBo [Tue, 8 Nov 2011 03:41:08 +0000 (11:41 +0800)]
274: add a prealloc and reserve test

This test is for preallocation test. If the disk is full, just with a prealloc
file has some free space that prealloc early. We need to check whether the write
to the free space is success or not.

Signed-off-by: Wu Bo <Wu.Bo@cn.fujitsu.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
10 years ago083 make variable filesize as size in bytes
Eryu Guan [Fri, 4 Nov 2011 02:38:03 +0000 (10:38 +0800)]
083 make variable filesize as size in bytes

The first argument of _scratch_mkfs_sized() should be file system size
in bytes, so '100m' is not a valid number, and the 'expr' expression in
_scratch_mkfs_sized() complains 'non-numeric argument' about it.

Signed-off-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
10 years ago205: fix logging
Dave Chinner [Thu, 10 Nov 2011 00:08:18 +0000 (11:08 +1100)]
205: fix logging

Make the logging of operations in test 205 to the 205.full file work
correctly. This prevents the overwrite of mkfs status, and leaves
the 205.full file around for later analysis even on successful test
runs.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
10 years ago273: add a copy and reserve test
WuBo [Tue, 8 Nov 2011 03:40:38 +0000 (11:40 +0800)]
273: add a copy and reserve test

This test is a stress test. It creates a set of threads for coping small files
into disk. I use a 2G disk for test, the ENOSPC arises usually but the disk is
not full under kenerl 3.0 with intel64.

Signed-off-by: Wu Bo <Wu.Bo@cn.fujitsu.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
10 years ago022: ignore fsstress file count
Bill Kendall [Mon, 7 Nov 2011 21:03:52 +0000 (15:03 -0600)]
022: ignore fsstress file count

The recently added fsstress operations result in a different
number of directories and files being created for xfsdump test
022, which causes the test to fail since the expected xfsrestore
output records these numbers. Filter out the numbers to prevent
this from breaking in the future.

Also increase the number of fsstress operations used to populate
the filesystem so that we get roughly the same number of
directories and files as we used to for this test.

Reviewed-by: Alex Elder <aelder@sgi.com>
Signed-off-by: Bill Kendall <wkendall@sgi.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
10 years agoadd 059 and 060 to test multi-stream xfsdump
Bill Kendall [Mon, 7 Nov 2011 17:22:16 +0000 (11:22 -0600)]
add 059 and 060 to test multi-stream xfsdump

Implement the multi-stream placeholder tests 059 and 060. The comments
imply that these tests existed on IRIX, but I was unable to find them.

Test 059 does a simple 4-way dump and restore. Test 060 does a 4-way
dump, then restores each dump file individually (in a cumulative
fashion).

The tests are skipped if the installed xfsdump does not support
multi-stream output.

Reviewed-by: Alex Elder <aelder@sgi.com>
Signed-off-by: Bill Kendall <wkendall@sgi.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
10 years agofix permissions on non-executable tests
Bill Kendall [Mon, 7 Nov 2011 17:50:53 +0000 (11:50 -0600)]
fix permissions on non-executable tests

Tests that are not executable are made executable when they are
run, causing git to report them as modified. Fix this by
changing non-executable tests to have permissions of 0755.

Reviewed-by: Alex Elder <aelder@sgi.com>
Signed-off-by: Bill Kendall <wkendall@sgi.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>