]> git.ipfire.org Git - thirdparty/linux.git/commit
xfs: fix error returns in CoW fork repair
authorYingjie Gao <gaoyingjie@uniontech.com>
Wed, 27 May 2026 04:31:33 +0000 (12:31 +0800)
committerCarlos Maiolino <cem@kernel.org>
Sat, 30 May 2026 06:26:18 +0000 (08:26 +0200)
commitfcf4faba9f986b3bb528da11913c9ec5d6e8f689
treeb3459ad9fe92bcbf5e066102be0116b7f6d3044d
parent36ca6f11424a5b6d92b88df37c40bf2fe825d5a0
xfs: fix error returns in CoW fork repair

xrep_cow_find_bad() returns success after the cleanup labels even if
AG setup, btree queries, or bitmap updates failed. This can make
repair continue with an incomplete bad-file-offset bitmap instead of
stopping at the original error.

The force-rebuild path has a related cleanup problem. If
xrep_cow_mark_file_range() fails, the function returns directly and
skips the scrub AG context and perag cleanup.

Let the force-rebuild path fall through to the existing cleanup code
and return the saved error after cleanup.

Fixes: dbbdbd008632 ("xfs: repair problems in CoW forks")
Cc: <stable@vger.kernel.org> # v6.8
Signed-off-by: Yingjie Gao <gaoyingjie@uniontech.com>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/scrub/cow_repair.c