In changing the default log sizes in mkfs, the freespace
calculations in generic/204 are no longer valid and so it fails with
ENOSPC before ti has finished creating the necessary files.. Make
the test use a fixed log size of 5MB for XFS so that freespace
calculations remain valid and the test passes regardless of whether
we have a new or old mkfs binary.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
In changing the default log sizes in mkfs, the freespace
calculations in xfs/104 are no longer valid and so it fails with
ENOSPC before running any of the growfs tests. Make the test use a
fixed log size of 5MB so that freespace calculations remain valid
and the test passes regardless of whether we have a new or old mkfs
binary.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
When running xfstests with an external log, the metadump tests fail
with extra output like:
+filesystem is marked as having an external log; specify logdev on the mount command line.
+xfs_metadump: cannot read superblock for ag 0
Add a _scratch_metadump() function to handle different logdev
configurations automatically for metadump.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Otherwise we end up with an ever-growing file for every test that is
run and that makes it hard to isolate failures.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
This has found several issues with recovery on CRC based
filesystems. It is based on a test case for a dir3 assert failure
provided by Michael L Semon.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
CRCs always enabled 32 bit project inodes and attr2 formats, hence
they cannot be turned off. Add new require rules for the tests that
require attr and 16 bit project IDs so these tests are avoided on
CRC enabled filesystems.
Also, add a xfs_db write check so that we can avoid tests that are
dependent on xfs_db modifying filesystem structures as they will
fail on CRC enabled filessystems right now. This is just temporary
until full write xfs_db support is available.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Check if creating a sparse copy ("reflink") of a file on btrfs
expectedly fails when it's done between different filesystems or
different mount points of the same filesystem.
For both situations, these actions are executed:
- Copy a file with the reflink=auto option.
A normal copy should be created.
- Copy a file with the reflink=always option. Should result in
error.
[sandeen: mostly cosmetic changes]
Signed-off-by: Koen De Wit <koen.de.wit@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Moving and deleting cloned ("reflinked") files on btrfs:
- Create a file and a reflink
- Move both to a directory
- Delete the original (moved) file, check that the copy still exists.
[sandeen: mostly cosmetic changes]
Signed-off-by: Koen De Wit <koen.de.wit@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Tests file clone functionality of btrfs ("reflinks") on directory trees.
- Create directory and subdirectory, each having one file
- Create 2 recursive reflinked copies of the tree
- Modify the original files
- Modify one of the copies
[sandeen: mostly cosmetic changes]
Signed-off-by: Koen De Wit <koen.de.wit@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Tests file clone functionality of btrfs ("reflinks"):
- Reflink a file
- Reflink the reflinked file
- Modify the original file
- Modify the reflinked file
[sandeen: add helpers, make several mostly-cosmetic
changes to the original testcase]
Signed-off-by: Koen De Wit <koen.de.wit@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
This change allows xfstests runs to simulate apps
which don't bother to call XFS_IOC_DIOINFO, and simply
issue DIO in sizes and alignments of its own choosing.
So i.e.:
# export XFS_DIO_MIN=512
prior to an xfstests run, and these test binaries
should issue 512-aligned DIOs instead of whatever
XFS_IOC_DIOINFO says (i.e. instead of maybe 4k).
(This is in preparation for allowing 512 IOs on
"advanced format" 512/4k disks, when xfs has an
internal 4k sector size).
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
I got burned on a mishmash system with /usr/sbin/mkfs but
/sbin/mkfs.xfs - or was it the other way around...
Anyway, in these tests, there's no need for the concatenation
to create "mkfs.xfs" - just use MKFS_XFS_PROG.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
btrfs/001 is failing as the below btrfs-progs patch changed the
output during subvol delete.
Patch :
btrfs-progs: add options to set commit mode after subvol delete
adding it to the filter
Signed-off-by: Anand Jain <Anand.Jain@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Test for an issue in btrfs send where it sent clone operations to user
space with a range (offset + length) that was not aligned with the block
size. This caused the btrfs receive command to send such clone operations
to the ioctl clone API, which would return -EINVAL errors to btrfs receive,
causing the receive command to abort immediately.
This corresponding btrfs linux kernel patch that fixes this issue is at:
https://patchwork.kernel.org/patch/3470401/
Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
_require_scratch_dev_pool() checks the devices number in
SCRATCH_DEV_POOL, but it's not enough since some btrfs RAID10 tests
needs 4 devices, but when 3 or less devices are provided, the check is
useless and related test case will fail(btrfs/003 btrfs/011 btrfs/023).
Also _require_deletable_scratch_dev_pool only checks whether it is
virtul, like virtio(not including virtio-scsi) disk will pass the check
but is unable to delete.
This patch enhance _require_scratch_dev_pool by add optional $1 as
needed device number to do extra check.
And enhance _require_deletable_scratch_dev_pool by directly check
/sys/class/block/$DEV/device/delete file.
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
To have noexceed test, we should clear data before and then retry.
However, when we are near to quota limit, we may fail to truncate/remove
data before, so we restart everthing here.
Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Introduce xfs/305 to verify that we can turn group/project quotas
off while user quotas is on and fsstress is running at the same time.
Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Introduce xfs/304 to verify that we can turn group/project quotas
off while user quotas is on.
Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Refactor xfs/299 to make use of those two crc related pre-checkup
routines, and remove the super block number from the golden output
file as it does not make sense IMO. Also, filter out *EXPERIMENTAL*
string from mkfs.xfs output as those contents would be removed once
crc feature becomes stable.
Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Generic/314 can fail when the group write file mode bit for "subdir" does not
match that found in the golden output, as has been seen in ext4 regression
testing. It appears that the golden output for generic/314 was taken on a
system where the $qa_user's umask cleared that mode bit - most likely, where
the umask was 022. Depending upon the distro, it's not uncommon for a user's
default umask to have a different value, such as 002. When that's the case,
we get a false negative failure when the group write mode bit for "subdir" is
not cleared. This failure is unrelated to the value of the SGID mode bit
that is the object of this test.
We could either require that $qa_user's account be configured in advance with
a umask of 022, or explicitly set a umask value compatible with the golden
output when creating "subdir". The latter option is more robust.
Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
generic/240
Date: Wed, 11 Dec 2013 11:21:28 -0000
From: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
If we execute generic/240 on a fs which has its fs block size greater
than 64k (for example, NFS), this test will fail with:
io_submit failed: Invalid argument
This will happen because in src/aio-dio-regress/aiodio_sparse2.c this
expression
num_aio = filesize / step;
will set num_aio to 0 and this means that no io_prep_write() will happen
before calling io_submit().
Fixing filesize to be 8 * "fs block size".
Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
While running xfstest 280, we occasionally got such error:
setquota: Cannot set quota for user 0 from kernel on
/dev/mapper/xfstests-disk1: No such device
setquota: Cannot write quota for 0 on /dev/mapper/xfstests-disk1: No such
device
setquota calls syscall quotactl, and the kernel will wait for the filesystem
to unfreeze and then performs command. Then kernel will double check if the
device is still mounted. If not, an ENODEV will be thrown.
While in the testcase, unfreeze and umount might be so close that the device
got umounted before quotactl is performed.
Reported-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
Signed-off-by: Guangyu Sun <guangyu.sun@oracle.com>
Reviewed-by: Eric Sandeen <sandeen@redaht.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>