Test that we can get all extent/hole information for files with more
than 16 extents and 15 holes which require a reallocation based on
XFS_IOC_FSGETXATTR.
Based on a testcase from Tomasz Majkowski <moosh009@gmail.com>.
Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
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>
Add a new group for test to quickly verify WIP patches. I've started
it by only taking tests fro mthe auto group that take 20 seconds or less
to complete on the kvm virtual machine on my laptop. The total run
of the quick group takes about 8 minutes for me.
Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
I don't have a single machine where these succeed, and due to the wait
the filestreams allocator works these tests might depend on the phase
on the moon to get their expected output.
Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
Eric Sandeen [Tue, 30 Dec 2008 22:34:17 +0000 (23:34 +0100)]
test 194, test tricky mapping/conversion around holes
Related to
http://oss.sgi.com/bugzilla/show_bug.cgi?id=801
Latest patch posted on that bug makes this testcase pass...
first 2 tests are simple buffred writ tests making sure stale
data isn't exposed, and hole-blocks aren't mapped.
2nd 2 tests are more related to the above bug, tricky testcase
uncovered by fsx on ppc64 which actually re-maps a block
which should be a hole, bringing stale data back into existence.
V2, don't use non-posix awk extensions
Signed-off-by: Eric Sandeen <sandeen@sandeen.net> Reviewed-by: Christoph Hellwig <hch@lst.de>
Eric Sandeen [Tue, 30 Dec 2008 22:33:34 +0000 (23:33 +0100)]
fix dbtest build
At least on my x86_64 RHEL5 box, if gdbm-devel is installed, then the
xfstests build fails with:
gcc dbtest.c -o dbtest -g -O2 -DDEBUG -I../include -DVERSION=\"1.0.0\" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -funsigned-char -fno-strict-aliasing -Wall ../lib/.libs/libtest.a
dbtest.c: In function 'InitDbmLookup':
dbtest.c:147: warning: cast from pointer to integer of different size
dbtest.c:198: warning: cast from pointer to integer of different size
/tmp/ccuekqxe.o: In function `CleanupDbmLookup':
/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:304: undefined reference to `dbm_close'
/tmp/ccuekqxe.o: In function `DoDbmLookup':
/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:220: undefined reference to `dbm_fetch'
/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:264: undefined reference to `dbm_fetch'
/tmp/ccuekqxe.o: In function `InitDbmLookup':
/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:146: undefined reference to `dbm_open'
/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:179: undefined reference to `dbm_store'
/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:192: undefined reference to `dbm_close'
/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:197: undefined reference to `dbm_open'
collect2: ld returned 1 exit status
gmake[1]: *** [dbtest] Error 1
make: *** [default] Error 2
This patch fixes it for me, but my userspace-fu is weak; does this look ok?
Barry Naujok [Wed, 26 Nov 2008 02:43:44 +0000 (02:43 +0000)]
mkfe2fs unfortunately hasn't heard about real enterprise setups using
whole disks and needs the -F option to create a filesystem on those
without asking stupid questions that make the testcases block forever.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of master-melb:xfs-cmds:32546a by kenmcd.
Barry Naujok [Thu, 20 Nov 2008 14:24:24 +0000 (14:24 +0000)]
Create a tape group for anything which expects
to dump to tape (I guess this is a superset
of "remote" and a few others). Also, remove
this from the auto group; most people won't have tapes
and -g tape is easy enough (per dchinner's suggestion).
Merge of master-melb:xfs-cmds:32513a by kenmcd.
but if we make that "\n" go away, the test still passes.
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Merge of master-melb:xfs-cmds:32444a by kenmcd.
Long devicenames cause this quota output to split onto 2 lines:
# xfs_quota -c "quota -gpu -birnN 99" /mnt/scratch
/dev/mapper/testvol-test2
880 1004 1004 00 [--------] 1 10 10 00 [--------] 0 0 0 00 [--------] /mnt/scratch
but if we make that "\n" go away, the test still passes. Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Tim Shimmin [Tue, 14 Oct 2008 14:58:57 +0000 (14:58 +0000)]
test out a remount bug where ro->rw doesn't update xfs flag and thinks it is
still readonly. Test using touch.
Code provided by Christoph Hellwig. Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of master-melb:xfs-cmds:32320a by kenmcd.
test out a remount bug where ro->rw doesn't update xfs flag and thinks it is
still readonly. Test using touch.
Code provided by Christoph Hellwig.
Tim Shimmin [Fri, 15 Aug 2008 16:11:24 +0000 (16:11 +0000)]
Add a bunch of tests for remount code.
Written by Christoph and amended by Tim to do some more testing
with fstab etc.
Merge of master-melb:xfs-cmds:31909a by kenmcd.
Tims patch to fix test 122: the __arch_pack stuff is confusing it - as was the case in the past
with the "attribute packed" stuff for the efi/efd items etc..
It is confusing the parsing which works out the type names.
Merge of master-melb:xfs-cmds:31658a by kenmcd.
Tim Shimmin [Tue, 15 Jul 2008 06:17:47 +0000 (06:17 +0000)]
If test 078 fails and you try to run it again immediately, it
will execute a 'rm -f' on a directory which will fail. This should
be a rmdir....
Signed-off-by: Dave Chinner <dgc@sgi.com>
Merge of master-melb:xfs-cmds:31637a by kenmcd.
If test 078 fails and you try to run it again immediately, it
will execute a 'rm -f' on a directory which will fail. This should
be a rmdir.... Signed-off-by: Dave Chinner <dgc@sgi.com>
Donald Douwsma [Wed, 18 Jun 2008 16:09:09 +0000 (16:09 +0000)]
fix XFSQA 145 / test_hole
There are two errors I see all the time in 145:
- dm_probe_hole returns EINVAL for offsets close to the file size
- dm_probe_hole wants EAGAIN for a probe at offset 1, length 0
The first error is a consequence of how the hole puching / probing
works. It always rounds the requested offset up to the next block
size and then checks if that rounded offset still fits into the file
size. Just do the same rounding in the testcase to make sure we don't
probe invalid offsets.
The second error is very odd to me, as we never return AGAIN in the
whole dm_probe_hole path. I've just commented it out.
I've also re-enabled the E2BIG to past-EOF test that was uncommented
before because it works perfectly fine now.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of master-melb:xfs-cmds:31330a by kenmcd.
Donald Douwsma [Wed, 18 Jun 2008 16:08:20 +0000 (16:08 +0000)]
Fix XFSQA test 144
Two really dumb bugs:
- "foo & 0x3FFFFFFFFFFFF" doesn't cap at 1TB, but rather at more than
two magnitudes larger than that. That gets us EFBIG with typical
32bit XFS setups.
- the command array can easily overflow and thus let the test fail
Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of master-melb:xfs-cmds:31327a by kenmcd.
Barry Naujok [Thu, 29 May 2008 17:01:09 +0000 (17:01 +0000)]
mkfs.reiserfs refuses to create a filesystem on full devices without
partitions unless it's given -f in addition to the already required Y
input to confirm the fs creation, so give the argument to it.
While we're at it also write the full command line used to create the
filesystem into the log to ease future debugging.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of master-melb:xfs-cmds:31250a by kenmcd.
Execute bits changed from xxx to ---
Fix up test with reiserfs
Dave Chinner [Thu, 15 May 2008 16:39:01 +0000 (16:39 +0000)]
Don't run 167 if killall is not installed
Test 167 will leave runaway fsstress processes around in case killall is
not installed and thus make all following tests fail. This patch checks
for killall beeing installed and error out otherwise.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of master-melb:xfs-cmds:31171a by kenmcd.
Dave Chinner [Thu, 15 May 2008 16:38:14 +0000 (16:38 +0000)]
Fix pathname filter issue.
If the path to the file being bmap'd has a [0-9] in it,
the output filter matches it and we get golden output
failure. Be more specific on the match.
Merge of master-melb:xfs-cmds:31170a by kenmcd.
Be more specific when trying to match extent output lines.
Dave Chinner [Thu, 15 May 2008 16:37:27 +0000 (16:37 +0000)]
Don't use /tmp for hosting loopback images
/tmp might be small, might not support files larger than 2GB,
etc, so trying to host loopback images of 100GB filesystems
will break in some situations. We should use $TEST_DIR for the
images.
Note: remounting of loopback images has a major bug (in mount)
that "leaks" loopback device references. Hence all the hackery
with losetup to work around this.
Merge of master-melb:xfs-cmds:31169a by kenmcd.
Dave Chinner [Thu, 15 May 2008 16:36:40 +0000 (16:36 +0000)]
With the recent change for reliability with 64k page size
made to test 008,the file sizes got much larger. It appears
that randholes actually reads the entire file, so this has
slowed the test down by a factor of ten (all file sizes
were increased by 10x). This means the test is now taking
about 18 minutes to run on a UML session, and all the time
is spent reading the files.
Instead, scale the file size based on the page size. We know
how many holes we are trying to produce and the I/O size
being used to produce them, so the size of the files can be
finely tuned. Assuming a decent random distribution, if the
number of blocks in the file is 4x the page size and the
I/O size is page sized, this means that every I/O should
generate a new hole and we'll only get a small amount of
adjacent extents. This has passed over 10 times on ia64
w/ 64k page and another 15 times on UML with 4k page.
UML runtime is down from ~1000s to 5s, ia64 runtime is down from
~30s to 7s.
Merge of master-melb:xfs-cmds:31168a by kenmcd.
Greatly reduce runtime by reducing filesizes down to sane minimum.
Tim Shimmin [Fri, 9 May 2008 04:38:54 +0000 (04:38 +0000)]
Sample the log traffic to work out its data rate so that we
have a better idea of predicting when it will get to the end
of the log. This way we can handle a change in log traffic in
the future. A test to keep an eye on log traffic is more of
a performance test than should be done elsewhere.
Merge of master-melb:xfs-cmds:31053a by kenmcd.
Sample the log traffic to work out its data rate so that we
have a better idea of predicting when it will get to the end
of the log. This way we can handle a change in log traffic in
the future.
Dave Chinner [Mon, 28 Apr 2008 16:26:35 +0000 (16:26 +0000)]
Fix intermittent failure on 64k pagesize
Files are too small for 64k sized I/Os to reliably produce 50
extents +/-10%. Increase the size of the files to increase
reliability.
Merge of master-melb:xfs-cmds:30996a by kenmcd.
Dave Chinner [Mon, 28 Apr 2008 06:26:58 +0000 (06:26 +0000)]
fix filter for stripe aligned filesystems
Flags has extra bits set in it xfs_bmap output when
the filesyste is using stripe alignment. Fix the test
to only look at the unwritten flag. Capture the xfs_bmap
output as well so failures can be debugged easily.
Merge of master-melb:xfs-cmds:30994a by kenmcd.
Dave Chinner [Mon, 28 Apr 2008 06:26:10 +0000 (06:26 +0000)]
Use configured XFS_IO_PROG binary
We should use XFS_IO_PROG variable rather than calling xfs_io
directly and relying on teh path to pick up the correct binary
for the test.
Merge of master-melb:xfs-cmds:30993a by kenmcd.
Dave Chinner [Mon, 28 Apr 2008 06:25:22 +0000 (06:25 +0000)]
xfsqa 165 - fails if environment LANG != C
Merge of master-melb:xfs-cmds:30992a by kenmcd.
export the language that all tests will run under to prevent
language settings from affecting test output and giving
spurious failures when comparing against golden output.
Dave Chinner [Tue, 8 Apr 2008 06:20:04 +0000 (06:20 +0000)]
xfsqa 185 shouldn't have uninitialised variables in the golden output
Kill the output of uninitialised values when punching a hole.
This prevents the test from passing on just about everything.
Merge of master-melb:xfs-cmds:30762a by kenmcd.
remove roffp and rlenp output for punch operations.
Dave Chinner [Tue, 8 Apr 2008 04:00:40 +0000 (04:00 +0000)]
Test 091 fails on sector size != 512 bytes
Test 091 assumes a direct I/O alignment of 512 bytes,
a hold over from 2.4 kernels. On 2.6. kernels, direct
I/O needs to be aligned to the sector size the filesystem
was mkfs'd with.
Merge of master-melb:xfs-cmds:30760a by kenmcd.
Teach 091 about 2.6 kernels and grab the sector size from the
xfs_info output.
Dave Chinner [Wed, 26 Mar 2008 03:27:32 +0000 (03:27 +0000)]
XFSQA 103: filter ln output
More recent versions of ln (version >= 6.0) have a different error
output. update the filter to handle this.
Merge of master-melb:xfs-cmds:30705a by kenmcd.
Dave Chinner [Tue, 25 Mar 2008 05:20:38 +0000 (05:20 +0000)]
Make test 141 work on 64k page size machines
Make the file larger and read 64k from it instead of 16k
so that it pulls in a full page from the middle of the file.
Merge of master-melb:xfs-cmds:30703a by kenmcd.
Use a large file and 64k I/O size so the test works on 64k page
size machines.
Dave Chinner [Tue, 25 Mar 2008 05:19:50 +0000 (05:19 +0000)]
xfsqa test 166 fails on 64k page machine
test 166 output is dependent on page size (mmap related). Make
the output filter turn the output into something independent of
page size whilst checking that the output is valid.
Merge of master-melb:xfs-cmds:30702a by kenmcd.
Make the file size and I/O size large enough that 64k pages are
handled correctly.