tag name | scrub-iget-fixes_2023-02-14 (5ee6cabc37022fae7635720ff36a0302addd4967) |
tag date | 2023-02-14 20:29:20 -0800 |
tagged by | Darrick J. Wong <djwong@kernel.org> |
tagged object | commit 1206bc12b6... |
download | xfs-linux-scrub-iget-fixes_2023-02-14.tar.gz |
---|
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-----
iHUEABYKAB0WIQQ2qTKExjcn+O1o2YRKO3ySh0YRpgUCY+xfoAAKCRBKO3ySh0YR
pt7DAP9KEb5MRc2wMqgKDL4yVXdAO9kFt3OOGwokiymCrG3V3gD+Mlh2askPVHBX
HMQwuZpMjn29DJF4GF9nv+mUWuVcFwk=
=wAiV
-----END PGP SIGNATURE-----