]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commitdiff
xfs: Replace ASSERT with XFS_IS_CORRUPT in xfs_rtcopy_summary()
authorNirjhar Roy (IBM) <nirjhar.roy.lists@gmail.com>
Wed, 4 Feb 2026 15:06:26 +0000 (20:36 +0530)
committerCarlos Maiolino <cem@kernel.org>
Wed, 25 Feb 2026 12:58:48 +0000 (13:58 +0100)
Replace ASSERT(sum > 0) with an XFS_IS_CORRUPT() and place it just
after the call to xfs_rtget_summary() so that we don't end up using
an illegal value of sum.

Signed-off-by: Nirjhar Roy (IBM) <nirjhar.roy.lists@gmail.com>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/xfs_rtalloc.c

index 90a94a5b6f7e7976928002d656d7082eeccc7fe3..aab59f66384e3e5fcb9bc44331152f107b77c12c 100644 (file)
@@ -112,6 +112,10 @@ xfs_rtcopy_summary(
                        error = xfs_rtget_summary(oargs, log, bbno, &sum);
                        if (error)
                                goto out;
+                       if (XFS_IS_CORRUPT(oargs->mp, sum < 0)) {
+                               error = -EFSCORRUPTED;
+                               goto out;
+                       }
                        if (sum == 0)
                                continue;
                        error = xfs_rtmodify_summary(oargs, log, bbno, -sum);
@@ -120,7 +124,6 @@ xfs_rtcopy_summary(
                        error = xfs_rtmodify_summary(nargs, log, bbno, sum);
                        if (error)
                                goto out;
-                       ASSERT(sum > 0);
                }
        }
        error = 0;