Files
apfstests/tests/xfs/529.out
T
Chandan Babu R 172b311e6f fstests: Fix tests to execute in multi-block directory config
xfs/{529,531,532,534,535} attempt to create test files after injecting
reduce_max_iextents error tag. Creation of test files fails when using a
multi-block directory test configuration because,

1. A directory can have a pseudo maximum extent count of 10.
2. In the worst case a directory entry creation operation can consume
   (XFS_DA_NODE_MAXDEPTH + 1 + 1) * (Nr fs blocks in a single directory block)
   extents.
   With 1k fs block size and 4k directory block size, this evaluates to,
   (5 + 1 + 1) * 4
   = 7 * 4
   = 28
   > 10 (Pseudo maximum inode extent count).

This commit fixes the issue by creating test files before injecting
reduce_max_iextents error tag.

Reported-by: Darrick J. Wong <djwong@kernel.org>
Suggested-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Chandan Babu R <chandanrlinux@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2021-04-11 16:36:41 +08:00

25 lines
748 B
Plaintext

QA output created by 529
Format and mount fs
* Delalloc to written extent conversion
Inject reduce_max_iextents error tag
Create fragmented file
Verify $testfile's extent count
Disable reduce_max_iextents error tag
* Fallocate unwritten extents
Inject reduce_max_iextents error tag
Fallocate fragmented file
Verify $testfile's extent count
Disable reduce_max_iextents error tag
* Directio write
Inject reduce_max_iextents error tag
Create fragmented file via directio writes
Verify $testfile's extent count
Disable reduce_max_iextents error tag
* Extend quota inodes
Consume free space
Create fragmented filesystem
Inject reduce_max_iextents error tag
Inject bmap_alloc_minlen_extent error tag
Extend uquota file
Verify uquota inode's extent count