xfs/133 and xfs/138 use too much code to do "return value" check,
it's not necessary. For the code can be more readable and clear,
I change "return value" check to golden image check.
Signed-off-by: Zorro Lang <zlang@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Since 'quick' tests are supposed to run in < 15s, kick out the ones
that can't finish that soon even on fast storage.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Ensure that we can CoW the source file when the source file consists
of a range of mixed block types and there's a cowextsize hint set.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Christoph Hellwig discovered that the kernel crashed trying to free
the refcount btree per-ag reservation on a ro mount (because we don't
create the reservation except for rw mounts and ro->rw remounts). So,
test this to make sure we never do that again. :)
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Use the extent size hint to force leftover CoW reservations then
crash the filesystem to see how recovery works.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Perform copy-on-writes at random offsets to stress the CoW allocation
system. Assess the effectiveness of the extent size hint at
combatting fragmentation via unshare, a rewrite, and no-op after the
random writes.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Create a couple of XFS-specific tests -- one to check that growing
and shrinking the refcount btree works and a second one to check
what happens when we hit maximum refcount.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Fix style problems such as unnecessary use of quotes, add helper
variables to reduce visual clutter, and other minor fixes to make the
first batch of tests more closely resemble the second round tests.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Create a helper that looks for a test program in src/ and fails the
test if it doesn't exist. Refactor the existing testcases to use it.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Turns out that check already runs _check_filesystems after each test,
so we don't need to do this at the end of each test.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Seems either I have a different lsattr version, or different mount points
cause differences in the golden output. Send the lsattr output through
the whitespaces filter so that it works everywhere.
The lsattr output /does/ change depending on mountpoints. Ick. I'd
actually changed it to the long format output because line length in
the short format changes every time the flags change.
Signed-off-by: Christoph Hellwig <hch@lst.de>
[darrick.wong@oracle.com: update changelog]
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Since $TESTDIR is a local variable, make it lowercase to avoid
confusion with $TEST_DIR. While we're at it, make all the local
variables lowercase.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Make the xfsprogs sb layout and structure size checker work with
modern xfsprogs (i.e. 4.3+ and all the new v5 stuff). The old test
wasn't picking up structures because they're no longer defined in the
"typedef struct xfs_foo { } xfs_foo_t;" style.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
XFS torn log write detection includes a mechanism to inject CRC errors
into log records at runtime and shutdown the fs accordingly. This
ensures that the CRC verification pass on the subsequent mount discovers
an invalid record near the head of the log and considers it a torn
write.
This test runs a workload with error injection enabled and verifies that
the subsequent mount is successful. The test repeats for several
iterations using a random frequency factor for the error event each
time.
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
See what happens when we ENOSPC while growing a btree on behalf of
some reflink operation.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>