Index: xfstests/src/Makefile =================================================================== --- xfstests.orig/src/Makefile 2008-08-31 19:09:03.000000000 -0300 +++ xfstests/src/Makefile 2008-08-31 19:15:00.000000000 -0300 @@ -15,7 +15,7 @@ TARGETS = dirstress fill fill2 getpagesi LINUX_TARGETS = loggen xfsctl bstat t_mtab getdevicesize \ preallo_rw_pattern_reader preallo_rw_pattern_writer ftrunc trunc \ fs_perms testx looptest locktest unwritten_mmap \ - bulkstat_unlink_test bulkstat_unlink_test_modified + bulkstat_unlink_test bulkstat_unlink_test_modified btree-test IRIX_TARGETS = open_unlink Index: xfstests/src/btree-test.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ xfstests/src/btree-test.c 2008-08-31 19:15:14.000000000 -0300 @@ -0,0 +1,48 @@ + +#include +#include +#include +#include +#include +#include + +/* + * Until headers are ready. + */ +#ifndef XFS_IOC_TEST_BTREE +struct xfs_ioc_test_btree { + __u32 agno; + __u32 levels; + __u32 flags; +}; +#define XFS_IOC_TEST_BTREE _IOW ('X', 126, struct xfs_ioc_test_btree) +#endif /* XFS_IOC_TEST_BTREE */ + +int main(int argc, char **argv) +{ + struct xfs_ioc_test_btree tb; + int fd; + + if (argc != 4) { + fprintf(stderr, "usage: %s path agno levels\n", argv[0]); + return 1; + } + + fd = open(argv[1], O_RDONLY); + if (fd < 0) { + fprintf(stderr, "can't open %s\n", argv[1]); + return 1; + } + + tb.agno = atoi(argv[2]); + tb.levels = atoi(argv[3]); + tb.flags = 0; + + if (ioctl(fd, XFS_IOC_TEST_BTREE, &tb)) { + fprintf(stderr, "btree test failed: %s\n", + strerror(errno)); + return 1; + } + + return 0; +}