[PATCH 06/13] xfs/341: update test for rtgroup-based rmap

Darrick J. Wong
2025-02-19T01:05:13Z

From: Darrick J. Wong <djwong@kernel.org>

Now that we're sharding the realtime volume into multiple allocation
groups, update this test to reflect the new reality. The realtime rmap
btree record and key sizes have shrunk, and we can't guarantee that a
quick file write actually hits the same rt group as the one we fuzzed,
so eliminate the file write test since we're really only curious if
xfs_repair will fix the problem.

Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
---
tests/xfs/341 | 10 +++-------
tests/xfs/341.out | 1 -
2 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/tests/xfs/341 b/tests/xfs/341
index e9aea42f429ffd..fd450135b45de3 100755
--- a/tests/xfs/341
+++ b/tests/xfs/341
@@ -30,10 +30,10 @@ blksz="$(_get_block_size $SCRATCH_MNT)"
rtextsz_blks=$((rtextsz / blksz))

# inode core size is at least 176 bytes; btree header is 56 bytes;
-# rtrmap record is 32 bytes; and rtrmap key/pointer are 56 bytes.
+# rtrmap record is 24 bytes; and rtrmap key/pointer are 48 bytes.
i_core_size="$(_xfs_get_inode_core_bytes $SCRATCH_MNT)"
-i_ptrs=$(( (isize - i_core_size) / 56 ))
-bt_recs=$(( (blksz - 56) / 32 ))
+i_ptrs=$(( (isize - i_core_size) / 48 ))
+bt_recs=$(( (blksz - 56) / 24 ))

blocks=$((i_ptrs * bt_recs + 1))
len=$((blocks * rtextsz))
@@ -55,10 +55,6 @@ _scratch_xfs_db -x -c 'path -m /rtgroups/0.rmap' \
-c "write u3.rtrmapbt.ptrs[1] $fsbno" -c 'p' >> $seqres.full
_scratch_mount

-echo "Try to create more files"
-$XFS_IO_PROG -f -R -c "pwrite -S 0x68 0 9999" $SCRATCH_MNT/f5 >> $seqres.full 2>&1
-test -e $SCRATCH_MNT/f5 && echo "should not have been able to write f5"
-
echo "Repair fs"
_scratch_unmount 2>&1 | _filter_scratch
_repair_scratch_fs >> $seqres.full 2>&1
diff --git a/tests/xfs/341.out b/tests/xfs/341.out
index 75a5bc6c61191a..580d78895417c9 100644
--- a/tests/xfs/341.out
+++ b/tests/xfs/341.out
@@ -2,6 +2,5 @@ QA output created by 341
Format and mount
Create some files
Corrupt fs
-Try to create more files
Repair fs
Try to create more files (again)