[PATCHSET v29.0 10/40] xfsprogs: indirect health reporting

Darrick J. Wong
2023-12-31T19:42:18Z

Hi all,

This series enables the XFS health reporting infrastructure to remember
indirect health concerns when resources are scarce. For example, if a
scrub notices that there's something wrong with an inode's metadata but
memory reclaim needs to free the incore inode, we want to record in the
perag data the fact that there was some inode somewhere with an error.
The perag structures never go away.

The first two patches in this series set that up, and the third one
provides a means for xfs_scrub to tell the kernel that it can forget the
indirect problem report.

If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.

This has been running on the djcloud for months with no problems. Enjoy!
Comments and questions are, as always, welcome.

--D

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=indirect-health-reporting

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=indirect-health-reporting
---
libfrog/scrub.c | 5 ++++
libxfs/xfs_fs.h | 4 ++-
libxfs/xfs_health.h | 47 +++++++++++++++++++++++++++++++++++
libxfs/xfs_inode_buf.c | 2 +
man/man2/ioctl_xfs_scrub_metadata.2 | 6 ++++
scrub/phase1.c | 38 ++++++++++++++++++++++++++++
scrub/repair.c | 15 +++++++++++
scrub/repair.h | 1 +
scrub/scrub.c | 16 +++++++-----
scrub/scrub.h | 1 +
spaceman/health.c | 4 +++
11 files changed, 131 insertions(+), 8 deletions(-)