summaryrefslogtreecommitdiff
tag namescrub-iget-fixes_2022-11-09 (d9d5055b59a35ac9512809e36ba8c6905fbf59a9)
tag date2022-11-09 19:09:45 -0800
tagged byDarrick J. Wong <djwong@kernel.org>
tagged objectcommit 30d20f3e3b...
xfs: fix iget/irele usage in online fsck
This patchset fixes a handful of problems relating to how we get and release incore inodes in the online scrub code. The first patch fixes how we handle DONTCACHE -- our reasons for setting (or clearing it) depend entirely on the runtime environment at irele time. Hence we can refactor iget and irele to use our own wrappers that set that context appropriately. The second patch fixes a race between the iget call in the inode core scrubber and other writer threads that are allocating or freeing inodes in the same AG by changing the behavior of xchk_iget (and the inode core scrub setup function) to return either an incore inode or the AGI buffer so that we can be sure that the inode cannot disappear on us. Signed-off-by: Darrick J. Wong <djwong@kernel.org> -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAmNsa3kACgkQ+H93GTRK tOuVFw/8C1/rmkY9Lzl7F1ow0B57odri8OXDP1ZbLT5mUE3ewW91RIQPOnaIx/Ez 0roFkaWP36RL9PSztfECESJ2w8oLQaAvir/2rgYdN7veUto47OAGbYan7FX+rNgY 7BWws7gMzJ5oullR63rK3Vj6zt9v9vBqYnzhks4L8/WaxlxxjLXd2QjjXYiTSi+3 daBumP4u1qiQ4cMfMBKBRAgiTLMHnVSCHzPrFkGzPkSnGhgZpYu0Ez6ypdWTNslt 3eazFWJNjpnOMMHcfWgjTrgBEbOXVbAsDXfqINhMatUlmsJkkLNaw45adOsAkg0y pH6MDpsOo0cAoaWx8DSX3q/q4NHOrjmKdx5hFfosD7ACfHyiNv4c4QmQWaieJX39 4+3UZYV0PXTrQ3H8ervM+ZhnzC6nWNtdecMndVvkK+P0u3hf07VSWxAK89WDx1Tj 08WK/GMjY8Fh3Spkg8ov9Fvh0aqQY23kWuiaRdO7OqaLpdGKTP9SLsT0Ky+BJ9Ri hU08rGjrH4qaUNzbHt0VRt2bRb4E8F/2czlqGlvbj+oQnUJh9joAd08I4ZY+teLW BGeqE0izXFtbDSYDLecnuxv5doVu75iNkYz358OpyinomVpropznmi4O2qP+2wuS 46dLsDuKguo9gLHqIag7kfDBsKnOHacbQwiumuB+NhifdGo2G30= =14VW -----END PGP SIGNATURE-----