]> git-server-git.apps.pok.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
generic/563: allow read tolerance for f2fs in scenario 3
authorJan Prusakowski <jprusakowski@google.com>
Fri, 15 May 2026 08:26:08 +0000 (08:26 +0000)
committerZorro Lang <zlang@kernel.org>
Wed, 20 May 2026 10:26:37 +0000 (18:26 +0800)
F2FS is a log-structured file system that allocates new blocks even for
overwrites. To perform allocation, it may need to read metadata blocks
(such as the Node Address Table (NAT) or Segment Info Table (SIT)) if
they are not already in memory.

In scenario 3 (read -> read/write), unlike scenario 2, there is no prior
write in the same mount session to load these metadata blocks into memory.
Therefore, the write operation in the second cgroup triggers metadata
reads, which are charged to that cgroup.

Relax the read tolerance for f2fs in scenario 3 to accommodate these
expected metadata reads, matching the tolerance already used in scenario 2.

Signed-off-by: Jan Prusakowski <jprusakowski@google.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Reviewed-by: Zorro Lang <zlang@kernel.org>
Signed-off-by: Zorro Lang <zlang@kernel.org>
tests/generic/563

index c3705c2f90d4db3c405c8f7be782a5c3ff6d8bd4..f95eb0735d40644fcfb9f13a424d07b3057005d9 100755 (executable)
@@ -151,7 +151,10 @@ $XFS_IO_PROG -c "pread 0 $iosize" -c "pwrite -b $blksize 0 $iosize" $SCRATCH_MNT
 switch_cg $cgdir
 $XFS_IO_PROG -c fsync $SCRATCH_MNT/file
 check_cg $cgdir/$seq-cg $iosize $iosize 5% 5%
-check_cg $cgdir/$seq-cg-2 0 0 0 0
+# F2FS may perform metadata reads during write in this scenario
+read_tol=0
+[ "$FSTYP" = "f2fs" ] && read_tol=33792
+check_cg $cgdir/$seq-cg-2 0 0 $read_tol 0
 
 if [ "$drop_io_cgroup" = 1 ]; then
        echo "-io" > $cgdir/cgroup.subtree_control || _fail "subtree control"