Theodore Tso wrote:
> On Fri, May 15, 2009 at 08:53:29AM +1000, Dave Chinner wrote:
>>> 2) Why is the TESTDIR have to be a persistent xfs volume? I noticed
>>> that when testing UDF and NFS, the scratch volume is used (and $testdir
>>> is set to the point at the scratch directory). Is there some
>>> fundamental reason why there must be an XFS volume mounted, even if the
>>> fundamental intention is to test some other filesystem type, whether
>>> it's UDF, NFS, or Ext4?
>> It is persistent because it ages the filesystem. If you run xfsqa
>> repeatedly on the same machine (e.g. for months on end), the TESTDIR
>> gets aged and so we exercise aged filesystems as well as a new fs'
>> (scratch). There is no reason it really needs to be XFS - it could
>> be ext4, UDF, etc - as long as it is persistent.
> At the moment there is a test in common.rc that seems to force that
> TEST_DEV is a mounted xfs filesystem:
> candygram:/host/usr/projects/e2fsprogs/xfstests# ./check 001
> common.rc: Error: $TEST_DEV (/dev/sdb) is not a MOUNTED xfs filesystem
> Filesystem Type 1K-blocks Used Available Use% Mounted on
> /dev/sdb ext4 20642428 522392 19071460 3% /test
> Sounds like removing that test would be the right thing to do?
Probably so. I would hope that tests that require xfs would then be
skipped gracefully ...
>>> 3) How much latitude/interest is there in modifying xfstests to be a bit
>>> more filesystem independent?
>> Plenty, I think. While it has lots of XFS specific stuff, many of
>> the tests are generic and have no XFS dependence at all. And many
>> of the tests that rely on preallocation and block mapping could be
>> made generic quite easily now. ;)
> What would people think about taking xfs_io, stripping out the
> xfs-specific bits, and creating an fs_testio program that would live
> in the xfstests tree? Then the tests that don't need any of the XFS
> bits could simply use fs_testio and not need to build and install
xfs_io is fairly tangled in with xfsprogs right now I _think_ ... I
dont' see much reason to strip xfs specific stuff out of it, I'd just
make sure the generic functionality is done in a generic way, and keep
adding more. IOW, don't remove "resvsp" which calls the xfs ioctl, but
do add fallocate.
Installing xfsprogs shouldn't be -too- onerous.... xfs users have been
installing e2fsprogs for years to get libuuid for example. :)
> Also, maybe we need to have an --disable-xfs option to configure?
> Right now for some reason a full make on blows up, probably because
> the xfsprogs/xfslibs-dev packages in Ubuntu 9.04 aren't new enough for
> whatever xfstests requires:
that was due to some header moves as I said on irc. --disable-xfs might
be reasonable, to skip building & running the non-xfs tests.
> make: Entering directory `/usr/projects/e2fsprogs/xfstests/src'
> /usr/bin/libtool --tag=CC --mode=link gcc loggen.c -o loggen -g -O2 -g -O2
> -DDEBUG -I../include -DVERSION=\"1.0.0\" -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -funsigned-char -fno-strict-aliasing -Wall
> libtool: link: gcc loggen.c -o loggen -g -O2 -g -O2 -DDEBUG -I../include
> -DVERSION=\"1.0.0\" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -funsigned-char
> -fno-strict-aliasing -Wall
> loggen.c: In function 'loggen_unmount':
> loggen.c:143: warning: implicit declaration of function 'xlog_assign_lsn'
> /tmp/ccey5aXu.o: In function `loggen_empty':
> /usr/projects/e2fsprogs/xfstests/src/loggen.c:211: undefined reference to
> /usr/projects/e2fsprogs/xfstests/src/loggen.c:263: undefined reference to
> /tmp/ccey5aXu.o: In function `loggen_unmount':
> /usr/projects/e2fsprogs/xfstests/src/loggen.c:143: undefined reference to
> /usr/projects/e2fsprogs/xfstests/src/loggen.c:160: undefined reference to
> collect2: ld returned 1 exit status
> distcc ERROR: compile loggen.c on localhost failed
> - Ted
> xfs mailing list