summaryrefslogtreecommitdiff
tag namescrub-iget-fixes_2022-10-14 (f72fa8d3b84aefd083e85b081cfc10ef20b739f0)
tag date2022-10-14 14:18:27 -0700
tagged byDarrick J. Wong <djwong@kernel.org>
tagged objectcommit 25aa73190a...
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+H93GTRKtOsFAmNJ0iMACgkQ+H93GTRK tOt0Yg/8Co3LavEcSXlVGPDclEhKL0dCvgca4pPVQren6uyl6eQ1NCL0bNwPrIMs J+J6PeoduxV9y6lkFz1MaKxdC/8c5wzo36IwVT5qnH1OpKISShSloMaDKnlUyTdk CL5GVAhCSP57Gom07GrmUMGLH6pGmNl9VHSSTaOaR4SVAfd9uouJGFtYZZfGnoGb fmePcWxr5xwFCPByZTsRZ9UBTG36f0ChYNivXf1euKp+7T72DC7EtOugQdam4Pv5 dGjL2+jgaYJm/qzKIbkcL3T+HbL21RRrR8MpAVvLBnmUVdwjb1R6KoUHy8sVlTVK jPGd52utHa69AEs/fKDav1+QQsO0hfzhUYKDfl8YIBeJce+gZqZ1s0kY/qnAVFR4 3JZvdZfXdtmF07COdS3q1Bis3kt6itALdYfVcecGreixJEmVIZEpigr392KAuX4F w77cswv//uBld28D9RP7x1tM5Y4GVSRoEzJGx1HTR/v/FdLQ9eFofQZfGx7VcVRu RZ8R3vQ5mVjwqMKHk6KydEi3UHL5oZGZzQsOmXjUEiyWz/wVeVfx9G/JvwDBG+ge MHN9yj2U9Y94GYiNCn+a9H3AXFmq2dOgEGIueijjctsjmGG4gqJejwWQ9IvFlqs9 /AGjRe0XY0LSEagoXXp5eVIXrg1GB3gPU8/zrpgXVYj1TZM/ZpA= =hc8W -----END PGP SIGNATURE-----