test 042 generates a worst-case fragmented filesystem and uses it to
test xfs_fsr. It uses small 4k files to generate the hole-space-hole
pattern that fragments free space badly. It is much faster to
generate the same pattern by creating a single large file and
punching holes in it. Also, instead of writing large files to
create unfragmented space, just use preallocation so we don't have
to write the data to disk.
These changes reduce the runtime of the test on a single SATA drive
from 106s to 27s.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Alex Elder <aelder@sgi.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
While most tests use /bin/sh, they are dependent on /bin/sh being a
bash shell. Convert all the tests to execute via /bin/bash as it is
much, much simpler than trying to debug and remove all the bashisms
throughout the test code.
Signed-off-by: Dave Chinner <david@fromorbit.com>
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
It turns out lsqa.pl nees the test number and description first in the
file, so move the GPL boilerplates below it.
Also remove acouple of cases where we have one full copyright line + gpl
boilerplate before the description and another copyright line after
the description.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Somehow 042 as it stands isn't actually defragging the fragmented
file we created (see 042.full post-run)
Probably need to look into that as well, but for now this should
make the call to fsr actually _do_ something.
This has let 2 fsr bugs slip through qa in the past few months. :(
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@infradead.org>
Similar to the xfsdump-related patch; gracefully fail
if no xfs_fsr is found.
I'll probably send another for the acl & attr userspace,
it's actually not always installed on minimal boxes.
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Felix Blyakher <felixb@sgi.com>