Commit Graph

2761 Commits

Author SHA1 Message Date
Darrick J. Wong 908ce96fdc xfs/122: add the realtime rmapbt inode and btree fields
Add the on-disk structures added by the realtime rmapbt.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-12 11:17:34 +08:00
Darrick J. Wong 7f6f53aa50 xfs: scrub fs at the end of the test
Teach _check_xfs_filesystem to scrub mounted filesystems before
unmounting and fscking them. This is mostly to test the online scrub
tool...

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-12 11:17:19 +08:00
Darrick J. Wong 72cdba7141 reflink: test cross-mountpoint reflink and dedupe
Test sharing blocks via reflink and dedupe between two different
mountpoints of the same filesystem. This shouldn't work, since we
don't allow cross-mountpoint functions.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-08 15:28:28 +08:00
Eric Sandeen b7d908a0e8 README: document Fedora, RHEL, and CentOS dependencies
Document all build and runtime requirements for xfstests
on Fedora/RHEL/CentOS boxes, as was done earlier for Ubuntu.

Minor other README edits as well.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-06 00:01:10 +08:00
Darrick J. Wong 7c0b493bf6 generic: test accurate shared extent reporting
Ensure that we can create a file with a single extent, reflink two
blocks out of the middle of that extent, and the resulting fiemap
reports two shared extents, instead of lazily reporting the entire
huge extent as shared.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 16:15:55 +08:00
Jan Kara f45cb67b99 ext4: Test expansion of inode size
ext4 supports dynamic expansion of inode size via inode's
i_extra_size field. Test the code performing the expansion in the
kernel.

Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 13:42:45 +08:00
Eric Whitney 60f3461b7d common/defrag: rework _require_defrag for ext4
The existing _require_defrag function rejects ext4 file systems
mounted with the dax option or constructed without extents.
However, there are also a number of other ext4 file system
configuration cases that do not currently support online defrag,
including encryption, data journaling, and bigalloc.  In the future,
online defrag functionality may be implemented for some of these,
and new configuration cases could be added that don't support it.

Rather than add a laundry list of mount and file system
configuration options to the existing _require_defrag function that
will need ongoing maintenance, use the available src/e4compact
program to directly determine whether the kernel supports ext4's
move extent ioctl on the test file system.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 13:36:51 +08:00
Darrick J. Wong 73f8e854f6 xfs: test attr_list_by_handle cursor iteration
Apparently the XFS attr_list_by_handle ioctl has never actually
copied the cursor contents back to user space, which means that
iteration has never worked.  Add a test case for this and see

"xfs: in _attrlist_by_handle, copy the cursor back to userspace".

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 10:44:50 +08:00
Darrick J. Wong 27516d43f4 common/dmerror: fix mount option issues
Calling _mount doesn't work when we want to add mount options such
as realtime devices. Fix it by calling _scratch_options first then
mount with $SCRATCH_OPTIONS.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 10:32:10 +08:00
Darrick J. Wong f9261d3646 xfs/128: cycle_mount the scratch device
This test uses the scratch device, so cycle that, not the test dev.
This is also a xfs_fsr test, so put it in the fsr group.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 10:32:10 +08:00
Darrick J. Wong dd6eca7b0e common/rc: optionally test xfs_repair index rebuilding
Run xfs_repair twice more at the end of each test -- once to rebuild
the btree indices, and again with -n to check the rebuild work.
This is in addition to the regular dry-run spot check.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 10:32:10 +08:00
Darrick J. Wong 49b0eda17a xfs/234: use scratch device helpers
Use the helper functions for scratch devices. This fixes a problem
where xfs/234 fails when there's a realtime device.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 10:32:10 +08:00
Darrick J. Wong 7c848d24bb xfs/179: use scratch device helpers
Use the helper functions for scratch devices. This fixes a problem
where xfs/179 fails when there's a realtime device.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 10:32:10 +08:00
Darrick J. Wong b85dfac4ca xfs/129: fix post-metadump remounting idiocy
Use the standard _scratch_mount to mount the filesystem from the
restored image, instead of trying to call mount directly. This is
needed in case we had custom mount options (like rtdev).

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 10:32:10 +08:00
Darrick J. Wong 2f8d7b2ff0 common/reflink: actually test dedupe on scratch device
In _require_scratch_dedupe, test the scratch device, not the
testdev.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 10:32:10 +08:00
Darrick J. Wong c85204b430 xfs/122: list the new log redo items
List the new log redo items. These should have stable sizes.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 10:32:10 +08:00
Darrick J. Wong 1496a4f5e9 xfs/310: fix the size calculation for the huge device
Fix the calculation of the dmhuge size. The previous calculation
tried to calculate the size correctly, but got it wrong for 1k block
sizes. Therefore, clean the whole mess up.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 10:32:10 +08:00
Darrick J. Wong 946b199460 xfs: use rmapbt-checking helper
Don't open-code _notrun checks for the rmapbt, just use the helper.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 10:32:10 +08:00
Darrick J. Wong 7c61e4c39e xfs/26[34]: remove duplicate tests
These two tests were accidentally double-added as xfs/30[78], but
the newer versions have fixed up helper usage and fewer whitespace
problems, so nuke the old tests.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-05 10:32:10 +08:00
Christoph Hellwig 700b17bf92 generic/095: update warning whitelist
The recent direct I/O path refactor changed the function name in the
racing read case.  Update the test case to handle the new name in
addition to the old one.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-03 10:56:22 +08:00
Omar Sandoval 6ba4f8a858 check: allow comments in exclude files
Sometimes it's useful to keep track of why we're excluding a particular
test. Technically, we can include whatever explanation we want in the
exclude file since we just grep for the test names, but properly
supporting comments is a little more robust. This patch makes it so that
the rest of a line after a '#' is ignored.

Signed-off-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-08-03 10:52:17 +08:00
Eryu Guan 2d7ed0ce03 overlay: truncate running binaries from lower and upper dirs
Test truncate running executable binaries from lower and upper dirs.
truncate(2) should return ETXTBSY, not other errno nor segfault

Commit 03bea6040932 ("ovl: get_write_access() in truncate") fixed
this issue.

Reviewed-by: Xiong Zhou <xzhou@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-07-31 10:37:08 +08:00
Eryu Guan 5f29278f84 overlay: remove stale file from upperdir
The upper dentry may become stale before we remove it from overlay,
e.g. file was removed from upperdir directly, which triggered
warning/oops in ovl_remove_and_whiteout().

Commit cfc9fde0b07c ("ovl: verify upper dentry in
ovl_remove_and_whiteout()") fixed this issue.

Reviewed-by: Xiong Zhou <xzhou@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-07-31 10:37:08 +08:00
Eryu Guan 226279c01f overlay: dump overlay private xattr
Test dump overlay private xattr on overlayfs with multiple lower
dirs. All the lower layers, except the lowest one, should honor
overlay private xattr "trusted.overlay", which means it should not
be visible to user.

Commit b581755b1c56 ("ovl: xattr filter fix") fixed this issue.

Reviewed-by: Xiong Zhou <xzhou@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-07-31 10:37:08 +08:00
Wang Xiaoguang 4427c1a44f generic: run write(2) and fallocate(2) in parallel
Currently in btrfs, there is something wrong with fallocate(2)'s
data space reservation, it'll temporarily occupy more data space
thant it really needs, which in turn will impact other operations'
data request.

In this test case, it runs write(2) and fallocate(2) in parallel and
the total needed data space for these two operations don't exceed
whole fs free data space, to see whether we will get any unexpected
ENOSPC error.

Signed-off-by: Wang Xiaoguang <wangxg.fnst@cn.fujitsu.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
2016-07-31 10:37:08 +08:00