Commit Graph

1100 Commits

Author SHA1 Message Date
Eric Sandeen 466f161d22 fallocate + read/write tests, ext4 regression tests
New test to test basic mixed fallocate + read & write,
includes a couple regression tests for bugs that ext4
hit.  Uses xfs_io to generate fallocate calls, so requires
git xfsprogs and very recent glibc at this point.

Ext4 folks, this is hopefully a reasonable example of
how to add a new test.   :) 

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-24 12:58:11 -05:00
Eric Sandeen 93fd6a4cbb Move duplicated xfs_io filters to common.filter
Also fix up 132 output, which was misfiltered due
to a bug in the filtering.

Doing this because I need this same filter for the next
added test.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-24 12:57:24 -05:00
Eric Sandeen 6db07ff49e basic fallocate boundary tests
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>
2009-06-24 12:58:30 -05:00
Theodore Ts'o 83f15ee79b fix common.config to allow SCRATCH_DEV and SCRATCH_MNT to be optional
Commit 3ae9f2f8 purports to allow SCRATCH_DEV and SCRATCH_MNT to be
optional, but tests in common.config will cause check to exit with an
error if these environment variables are not defined.  Fix this problem.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2009-06-20 19:14:14 +02:00
Theodore Ts'o 74dee07d4a fix _require_scratch test for extN, resierfs, gfs2, and btrfs
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>
2009-06-20 19:05:45 +02:00
Theodore Ts'o 41c40276a4 skip _check_test_fs unless a test is actually run
Running _check_test_fs can take a non-trivial amount of time, and if a
test has been skipped because it doesn't work on Linux, or it doesn't
work of for ext4, it's pointless to re-run _check_test_fs.  So move
the call to _check_test_fs so it is only run if a test is actually run.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Felix Blyakher <felixb@sgi.com>
2009-06-20 19:01:43 +02:00
Eric Sandeen bdd5949396 Skip dump _cleanup if filesystem is not xfs
Many/most dump tests include common.dump before checking
supported fs, and this means that even if the dump tests
are skipped, the sleep & filesystem check in _cleanup
gets run, which makes it take rather a long time to
skip these tests for non-xfs filesystems.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-10 15:05:04 -05:00
Eric Sandeen 4e9072472f Gracefully fail aio tests if they weren't built
configure & make succeeds w/o aio headers or libs,
so tests should handle that.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-10 15:04:52 -05:00
Eric Sandeen b29f981f0c Enable test 080 for Linux
Seems to work here... Also disable IRIX as supported,
since the comments & code say it doesn't work and
it short-circuits anyway.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-09 13:38:11 -05:00
Eric Sandeen 6650a673b5 Enable still more tests for generic filesystems
Make the following tests _supported_fs generic:

088 - test out CAP_DAC_OVERRIDE and CAP_DAC_SEARCH code
089 - Emulate the way Linux mount manipulates /etc/mtab
113 - aio-stress (explicitly mark as generic)
126 - tests various file permission options
129 - looptests

These all pass on ext3, ext4, btrfs, and gfs2 as well
as xfs.

Also remove "generic" group from "groups," which was 
accidentally added.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-09 13:35:28 -05:00
Eric Sandeen 67fbcc9c08 allow more xfs_io tests to be generic
These tests just do generic reads & writes with xfs_io;
if we add a "-F" they will run on other filesystems.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-09 10:32:29 -05:00
Eric Sandeen aa31b54565 Allow fsx tests to run on generic filesystems
There is already logic in 075 to gracefully skip nfs for fsx
invocations with -x (xfs-specific preallocation) - just extend
this to any non-xfs filesystem, and add to test 112 as well.

Later we can change this behavior to use fallocate and include
more filesystems but this gets some fsx coverage for now.

Test 127 doesn't seem to have anything xfs-specific, so mark
that as generic too.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-08 11:27:23 -05:00
Eric Sandeen aec4f29390 Make "new" script insert appropriate license on tests
Don't default to SGI copyright, someone else may be
making this test...

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-05 17:07:20 -05:00
Felix Blyakher 491d467f3c Add GPL license plate to SGI's files.
Signed-off-by: Felix Blyakher <felixb@sgi.com>
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Felix Blyakher <felixb@sgi.com>
2009-06-05 15:41:14 -05:00
Eric Sandeen 2341811efd update aio-stress.c, with copyright information intact
Pulled from:
http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/kernel/io/ltp-aiodio/aio-stress.c
revision 1.8

There are a couple new options, but the main motivator is to
get the license text intact again.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-05 14:12:27 -05:00
Dave Chinner 7ba06df936 add license boilerplate to 205
Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
2009-06-05 11:51:55 +02:00
Eric Sandeen 8eac986fe4 aio-dio-regress: fix aio-dio-extend-stat on s390
This patch:

o Changes the BUFSIZE to 4096 so that we can successfully perform direct
  I/O on devices that have a sector size of 4k, such as the virtual disks
  found on the s390 architecture.
o Removes an unused variable.
o Checks the proper field in the ioevent to determine if there was an
  error in the I/O submission.

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Zach Brown <zach.brown@oracle.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
2009-06-04 16:32:24 -05:00
Eric Sandeen 66b36d1952 Revert "aio-dio-regress: fix aio-dio-extend-stat on s390"
This reverts commit 6b26794772.

A later version of this patch was submitted, and I committed
the wrong one.  -Eric
2009-06-04 16:29:39 -05:00
Christoph Hellwig 74cff05770 xfstests: fix syntax error in check
Bash 3.2 wants a space before the closing "]" in a test.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Felix Blyakher <felixb@sgi.com>
2009-06-04 19:12:55 +02:00
Eric Sandeen dcb3106e20 Check for xlog_assign_lsn in xfs headers
Checking for libxfs.h isn't enough; some debian installs
have libxfs.h but no xlog_assign_lsn, and the loggen build still
fails.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-03 15:15:15 -05:00
Jeff Moyer be64a1a99b Hi,
So, the xfs test suite does a mount, followed by running the test, then
an unmount after the test exits.  aio-dio-invalidate-failure spawns two
children, and will kill them off before it exits.  The problem is that
it doesn't wait for them to exit before returning, so the xfs test
harness ends up failing the umount as the mount point is still busy.

The fix is to simply wait for each of the children exits before
returning from the parent.

(Eric Sandeen: add one more waitpid to error case)

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
2009-06-03 15:13:53 -05:00
Jeff Moyer 6b26794772 aio-dio-regress: fix aio-dio-extend-stat on s390
Hi,

The following patch queries the sector size of the underlying device so
that we can size the write buffer appropriately.  Without this patch, we
try to do an O_DIRECT write of 1KB to a device that has a sector size of
4KB.  This returns EINVAL, of course.  I also noticed that the test was
not checking the right fields for the return code.  It was checking the
original iocb's nbytes field instead of event->res.  So, I fixed that.

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
2009-06-03 15:11:24 -05:00
Jeff Moyer 4683b6d261 aio-dio-regress: align I/O buffers to 4k for 4k sector devices
(and virtual devices as found on s390)

Without this patch, these tests can randomly fail on s390 systems which
use a virtual block device with sector size of 4k.  Testing confirms
that this patch resolves the issue.

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
2009-06-03 15:09:34 -05:00
Eric Sandeen c639e76bdb Add aio-dio-regress tests
Pull in the aio-dio-regress test suite from
http://git.kernel.org/?p=linux/kernel/git/zab/aio-dio-regress.git

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-03 15:07:02 -05:00
Eric Sandeen e17b2a1acb don't run 122 if required headers aren't found
Now that libxfs etc is optional, 122 (which compiles on the fly)
is failing if those extra headers are missing.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-03 13:12:20 -05:00