summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2023-11-17misc: privatize the FIEXCHANGE ioctl for nowDarrick J. Wong
I'm abandoning (for now) efforts to bring atomic file content exchanges to the VFS. The goal here is to reduce friction in getting online fsck merged, so Dave and I want to take this back to being a private XFS ioctl so we can explore with it for a while before committing it to the stable KABI. Shift all the existing FIEXCHANGE usage to XFS_IOC_EXCHANGE_RANGE, and try to pick it up from xfs_fs_staging.h if the system xfslibs-dev package has such an animal. Signed-off-by: "Darrick J. Wong" <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Zorro Lang <zlang@kernel.org>
2023-11-16generic: test reads racing with slow reflink operationsDarrick J. Wong
XFS has a rather slow reflink operation. While a reflink operation is running, other programs cannot read the contents of the source file, which is causing latency spikes. Catherine Hoang wrote a patch to permit reads, since the source file contents do not change. This is a functionality test for that patch. [zlang@ adds `_supported_fs generic`] Signed-off-by: "Darrick J. Wong" <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Catherine Hoang <catherine.hoang@oracle.com> Reviewed-by: Zorro Lang <zlang@redhat.com> Signed-off-by: Zorro Lang <zlang@kernel.org>
2023-03-02fsx: support FIEXCHANGE_RANGEDarrick J. Wong
Upgrade fsx to support exchanging file contents. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Zorro Lang <zlang@redhat.com> Signed-off-by: Zorro Lang <zlang@kernel.org>
2023-02-08fuzzy: add a custom xfs find utility for scrub stress testsDarrick J. Wong
Create a new find(1) like utility that doesn't crash on directory tree changes (like find does due to bugs in its loop detector) and actually implements the custom xfs attribute predicates that we need for scrub stress tests. This program will be needed for a future patch where we add stress tests for scrub and repair of file metadata. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Zorro Lang <zlang@redhat.com> Signed-off-by: Zorro Lang <zlang@kernel.org>
2021-07-04Makefile: fix bug when running make install under tests/* directoryYang Xu
The TESTS_DIR value is defined in TOPDIR makefile, it is empty here. So running make install on ext4 directory will get the following info: ../../install-sh -o root -g root -m 755 -d /var/lib/xfstests//ext4 We can see they aren't installed under /var/lib/xfstests/tests/ext4 directory. Fix this by moving TESTS_DIR definition to include/builddefs.in file. Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com> Reviewed-by: Eryu Guan <guaneryu@gmail.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2021-06-27fstests: automatically generate group filesDarrick J. Wong
Now that we've moved the group membership details into the test case files themselves, automatically generate the group files during build. The autogenerated files are named "group.list" instead of "group" to avoid conflicts between generated and (stale) SCM files as everyone rebases. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com> Reviewed-by: Allison Henderson <allison.henderson@oracle.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2021-04-18generic: add fstests for idmapped mountsChristian Brauner
Add a test suite to verify the behavior of idmapped mounts. The test suite also includes a range of vfs tests to verify that no regressions are introduced by idmapped mounts. The following tests are currently available with more to come in the future: 01. posix acls on regular and idmapped mounts 02. create operations in user namespace 03. device node creation in user namespace 04. expected ownership on idmapped mounts 05. fscaps on regular mounts 06. fscaps on idmapped mounts 07. fscaps on idmapped mounts in user namespace 08. fscaps on idmapped mounts in user namespace with different id mappings 09. mapped fsids 10. unmapped fsids 11. cross mount hardlink 12. cross idmapped mount hardlink 13. hardlinks from idmapped mounts 14. hardlinks from idmapped mounts in user namespace 15. io_uring 16. io_uring in user namespace 17. io_uring from idmapped mounts 18. io_uring from idmapped mounts in user namespace 19. io_uring from idmapped mounts with unmapped ids 20. io_uring from idmapped mounts with unmapped ids in user namespace 21. following protected symlinks on regular mounts 22. following protected symlinks on idmapped mounts 23. following protected symlinks on idmapped mounts in user namespace 24. cross mount rename 25. cross idmapped mount rename 26. rename from idmapped mounts 27. rename from idmapped mounts in user namespace 28. symlink from regular mounts 29. symlink from idmapped mounts 30. symlink from idmapped mounts in user namespace 31. setid binaries on regular mounts 32. setid binaries on idmapped mounts 33. setid binaries on idmapped mounts in user namespace 34. setid binaries on idmapped mounts in user namespace with different id mappings 35. sticky bit unlink operations on regular mounts 36. sticky bit unlink operations on idmapped mounts 37. sticky bit unlink operations on idmapped mounts in user namespace 38. sticky bit rename operations on regular mounts 39. sticky bit rename operations on idmapped mounts 40. sticky bit rename operations on idmapped mounts in user namespace 41. create operations in directories with setgid bit set 42. create operations in directories with setgid bit set on idmapped mounts 43. create operations in directories with setgid bit set on idmapped mounts in user namespace 44. verify create operations and ownership with racing threads idmapping a mount 45. setattr truncate operations on regular mounts 46. setattr truncate operations on idmapped mounts 47. setattr truncate operations on idmapped mounts in user namespace Here's some sample output when running with DEBUG_TRACE defined: Cc: Amir Goldstein <amir73il@gmail.com> Cc: Eryu Guan <guan@eryu.me> Cc: fstests@vger.kernel.org Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2021-03-14fstests: remove DMAPI support from build systemDarrick J. Wong
Since we've axed all the DMAPI tests, get rid of the build system support too. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Acked-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2021-03-14fstests: remove libattr dependenciesDarrick J. Wong
Now that we don't have any libattr dependencies anymore, get rid of all the build system hooks. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2020-09-27fsstress: add IO_URING read and write operationsZorro Lang
IO_URING is a new feature of curent linux kernel, add basic IO_URING read/write into fsstess to cover this kind of IO testing. Signed-off-by: Zorro Lang <zlang@redhat.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2019-12-30fsstress: add the ability to create/delete subvolumesJosef Bacik
This patch adds support to fsstress for creating and deleting subvolumes on a btrfs file system. We link in the libbtrfsutil library to handle the mechanics of creating and deleting subvolumes instead of duplicating the ioctl logic. There is code to check if we're on a btrfs fs at startup time and if so 0 out the frequency of the btrfs specific operations. Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: Filipe Manana <fdmanana@suse.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2018-12-09fsstress: add copy_file_range supportDarrick J. Wong
Support the copy_file_range syscall in fsstress. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Eryu Guan <guaneryu@gmail.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2018-06-22include/: spdx license conversionDave Chinner
Mostly scripted like all the others, manually added tags to Makefile and build/config input files. Signed-off-by: Dave Chinner <dchinner@redhat.com>
2018-05-04build: Use the original install-sh file from SGITheodore Ts'o
The install-sh file is much more efficient than the libtool version (50% faster wall clock time; much more than that when running in a qemu emulation build environment). There doesn't seem to be any real need for the libtool version, so bring back the original install-sh script. [Eryu: move install-sh to include dir and copy it from there after libtoolize in Makefile] Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Eryu Guan <guaneryu@gmail.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2017-07-28include: remove some unused headersEric Biggers
test.h and usctest.h aren't used by anything. Get rid of them. Signed-off-by: Eric Biggers <ebiggers@google.com> Reviewed-by: Eryu Guan <eguan@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>
2017-07-28build: remove IRIX-specific build logicEric Biggers
As xfstests is no longer supported on IRIX, remove the ability to build xfstests for IRIX. Signed-off-by: Eric Biggers <ebiggers@google.com> Reviewed-by: Eryu Guan <eguan@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>
2017-05-26build: Stop relying on OpenSSLTheodore Ts'o
The OpenSSL dependency was added for one program, fssum, and it needs it only because it needs a md5 implementation. Use Solar Designer's openssl compatible implementation of md5 so we no longer need to depend on OpenSSL. Since the OpenSSL libraries are not always available, we had to add extra complexity to test to see whether fssum exists. The other problem with depending on the OpenSSL libraries is that shared library compatibility situation is terrible; a fssum binary built on a system using libssl1.0.0 is *NOT* run on a system with libssl1.0.2, since the shared libraries are incompatible even across a minor version bump. (Sigh.) Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Eryu Guan <eguan@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>
2017-04-27build: allow cros-compilation on chromeOSGwendal Grignou
- Request LIBTOOL to be used - Set topbuildir based on a Makefile variable to call libtool - Use /usr/local instead of /var for xfstest final location - Move macros from aclocal.m4 to acinclude.m4, aclocal.m4 is autogenerated. - Use autoconf variables @prefix@, @exec_prefix@. The regular way of compiling xfstests - make - remains. But it now runs autoreconf and libtoolize -i to produce a valid configure. Verified with 'make install --dry-run' that files are installed at the same place. Verified compiling in chromeOS chroot works as well. [eguan: resolve merge conflicts and update .gitignore and remove generated files by realclean] Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Eryu Guan <eguan@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>
2017-04-21src/open_by_handle: program to exercise open_by_handle_at() syscallAmir Goldstein
This is a clone of src/stale_handle.c test that uses generic open_by_handle_at() syscall instead of the xfs specific ioctl. No test is using this program yet. Signed-off-by: Amir Goldstein <amir73il@gmail.com> Reviewed-by: Eryu Guan <eguan@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-07-18build: Fix installation for extended namesJan Tulak
xfstests supports extended test names like 314-foo-bar, but installation of these tests was skipped (not matching a regexp). So this patch fixes the makefiles in tests/*/ The include/buildrules change was written by Dave Chinner. Signed-off-by: Jan Tulak <jtulak@redhat.com> Reviewed-by: Eryu Guan <eguan@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>
2013-08-13xfstests: add fssum toolJan Schmidt
fssum is a tool to build a recursive checksum for a file system. The home repository of fssum is git://git.kernel.org/pub/scm/linux/kernel/git/arne/far-progs.git Signed-off-by: Jan Schmidt <list.xfs@jan-o-sch.net> Reviewed-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Rich Johnston <rjohnston@sgi.com>
2012-11-21xfstests: remove unsupported conditionalsRich Johnston
This patch removes the unsupported sgi and CRAY. Signed-off-by: Rich Johnston <rjohnston@sgi.com> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
2012-10-24xfstests: install shared libs with +x bitsMike Frysinger
These are shared libs w/executable code, so make sure they have +x bits set on them. Some kernels will proactively disallow executable mmaps if the files lack +x bits. It's also the right thing to do. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Reviewed-by: Ben Myers <bpm@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
2011-07-17xfstests: don't hard code the shell binaryDave Chinner
Recent changes to debian unstable user space have caused the xfstests build to break as certain shell functionality is being assumed by libtool and friends. The configure scripts test and select the correct shell, but the input files ignore this and hard code the shell to use and hence now break. Fix this by using the shell that the configure scripts decide is the right one to use. Signed-off-by: Dave Chinner <dchinner@redhat.com>
2011-03-11xfstests: rework "dmapi" subtree build mechanismAlex Elder
The "dmapi" subtree was developed separate from and sort of wedged into the rest of the "xfstests" code. As a result, it has a lot of build infrastructure that's just different from the unified way used for everything else. This patch changes all that, making the "dmapi" subtree be a more normal component of "xfstests" with respect to its build process. This involves removing all the cruft needed and used by the dmapi "configure" script, and replacing each "Makefile.am" file with a proper "Makefile" that includes a simple set of rules that are compatible with the broader "xfstests" build. The result is a much cleaner, consistent build. It also deletes a considerable amount of code. Signed-off-by: Alex Elder <aelder@sgi.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
2011-03-11xfstests: some refinements on "make depend"Alex Elder
Make it so "make depend" is a generic target, like "make clean". Each Makefile has a "depend" target that indicates whether making dependencies means creating ".dep" or creating ".ltdep" (or, I suppose, both, though none do that right now). Both files get created even if there are no CFILES to scan (to ensure the target up-to-date). The "default" target now depends on "depend" (there is no "ltdepend" any more). Remove the "depend" and "ltdepend" definitions from the "buildrules" file; only the actual generated files (".dep" and ".ltdep") remain as generic targets. The "depend' target is still defined as phony. Do a shell trick when expanding the value of CFILES, to avoid a problem that occurs if it is created by "make" by concatentating two empty strings. The problem was that in that case CFILES will contain a space, and that wasn't getting treated as empty as desired. Make the rule for tool/lib dependencies more generic, to reflect the general desire that "lib" subdirectories need to be built before things in the "tool" subdirectories. Signed-off-by: Alex Elder <aelder@sgi.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
2011-03-09Add fallocate calls to fsxEric Sandeen
Add random runtime fallocate calls to fsx (vs. the existing preallocate file at start of run). Signed-off-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Alex Elder <aelder@sgi.com>
2010-08-03xfstests: fix depend targetsAlex Elder
There's no need to re-make the dependency files all the time. Make it so the "depend" target rebuilds the ".dep" file only if necessary. Also change the name of the dependency file created for "ltdepend" to be ".ltdep". Signed-off-by: Alex Elder <aelder@sgi.com> Reviewed-by: Dave Chinner <dchinner@redhat.com>
2010-03-06xfsqa: Add fiemap exerciserEric Sandeen
Preliminary fiemap testing support based on a test util written by Josef Bacik. For now it's only run with preallocation disabled, because xfs has a tendency to fill in holes with data blocks (EOF prealloc stuff I think) and similar for explicit preallocation, so this is breaking the preallocation tests for now, when it finds a "data" block where it expects a preallocated block. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
2010-01-26xfstests: Automatic build dependency calculationsDave Chinner
Currently the xfstest builds do not have any automatic dependency calculations. It relies on a separate make depend run to build or update dependency information. It also relies on an external makedepend binary. If that binary does not exist, the dependencies do not get calculated. To remove the dependency on makedepend, gcc can be used instead as it has a command to generate dependency information. This patch changes the dependency rule building to use gcc. In case anyone uses an old (several years) gcc compiler or a compiler that doesn't support gcc compatible dependency generation, a new configure check is added to turn off dependency checking so builds can still be done. To use the dependencies automatically, we need to use a special include makefile directive to include the build dependencies into the current makefile. Essentially once the dependencies are calculated, they can be included into the makefile and make will recalculate the build dependencies automatically based on that information. Hence we get a build that automatically calculates and keeps dependencies up to date without dependence on any external tools. Signed-off-by: Dave Chinner <david@fromorbit.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
2010-01-20xfstests: Clean up build outputDave Chinner
We don't need to see every compiler command line for every file that is compiled. This makes it hard to see warnings and errors during compile. For progress notification, we really only need to see the directory/file being operated on. Turn down the verbosity of output by suppressing various make output and provide better overall visibility of which directory is being operated on, what the operation is and what is being done to the files by the build/clean process. This patch only addresses the top level makefile and build rules; it does not clean up the subdirectories - these will be addressed by a followup patch. It also does not touch the dmapi section of the xfstests build system. The old style verbose builds can still be run via "make V=1 ..." Signed-off-by: Dave Chinner <david@fromorbit.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-03Check for xlog_assign_lsn in xfs headersEric Sandeen
Checking for libxfs.h isn't enough; some debian installs have libxfs.h but no xlog_assign_lsn, and the loggen build still fails. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
2009-06-02libxfs.h is really only needed for the loggen test;Eric Sandeen
make it config-time optional. Signed-off-by: Eric Sandeen <sandeen@sandeen.net> Reviewed-by: Christoph Hellwig <hch@infradead.org>
2009-02-01Use explict libtool CC tagArkadiusz Miśkiewicz
(sometimes libtool can't decide what tag is correct one if omited). Preserve CFLAGS/CPPFLAGS to allow: CPPFLAGS="-I$HOME/here-is-xfsprogs-installed/include" \ LDFLAGS="-L$HOME/here-is-xfsprogs-installed/lib" \ ./configure ... Signed-off-by: Arkadiusz Miśkiewicz <arekm@maven.pl> Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
2009-01-02Create xfstests install target.Eric Sandeen
Signed-off-by: Eric Sandeen <sandeen@sandeen.net> Reviewed-by: Christoph Hellwig <hch@lst.de>
2008-11-21Allow parallel builds of the xfstests packageBarry Naujok
Merge of master-melb:xfs-cmds:32515a by kenmcd. Allow parallel builds of the xfstests package
2008-11-20xfstests: check for dmapi headersBarry Naujok
Merge of master-melb:xfs-cmds:32507a by kenmcd. xfstests: check for dmapi headers
2007-01-02Dmapi build fixAllan Randall
Merge of master-melb:xfs-cmds:27826a by kenmcd. added default make option
2006-12-20fixed Makefile for building dmapi testsAllan Randall
Merge of master-melb:xfs-cmds:27778a by kenmcd. fixed Makefile for building dmapi tests
2006-12-19Integrate existing dmapi qa tests into xfs qa infrastructureAllan Randall
Merge of master-melb:xfs-cmds:27764a by kenmcd. Dmapi get/set_dmattr
2006-08-21Fix symlink detection in userspace MakefilesNathan Scott
Merge of master-melb:xfs-cmds:26825a by kenmcd.
2006-07-14fix make depend for libtool librariesTim Shimmin
Merge of master-melb:xfs-cmds:26539a by kenmcd.
2006-07-04some Makefile dependency fixesTim Shimmin
Merge of master-melb:xfs-cmds:26405a by kenmcd. specify platform for depend flags
2006-07-04Fix up the irix build with the log format 32/64 packed changes beingTim Shimmin
put into irix.h and GCCFLAGS separated out. Merge of master-melb:xfs-cmds:26404a by kenmcd. fix up compiler flags for irix - don't want gcc ones
2006-05-02Allow LDFLAGS to come from build env, for the Gentoo fringe dwellers.Nathan Scott
Merge of master-melb:xfs-cmds:25860a by kenmcd.
2006-04-05Make xfstests build use -O2 by default.Nathan Scott
Merge of master-melb:xfs-cmds:25677a by kenmcd.
2005-12-09QA test updates - fixes for pquota, extsize, fsstress, and ensure mount ↵Nathan Scott
options passed through to test_dev. Merge of master-melb:xfs-cmds:24763a by kenmcd.
2005-11-09Update copyright annotations and license boilerplates to correspond with SGI ↵Nathan Scott
Legals preferences. Merge of master-melb:xfs-cmds:24329a by kenmcd.
2005-11-09Update copyright annotations and license boilerplates to correspond with SGI ↵Nathan Scott
Legals preferences. Merge of master-melb:xfs-cmds:24326a by kenmcd.
2005-02-14Add AIO test 113 into the mix, enable AIO testing capability in local fsx.Nathan Scott
Merge of master-melb:xfs-cmds:21487a by kenmcd.