From e1a971bc1296bd411248adf3355f27590692a80b Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Wed, 3 Jul 2024 14:22:19 -0700 Subject: [PATCH] xfs: scrub the metadir path of rt rmap btree files Add a new XFS_SCRUB_METAPATH subtype so that we can scrub the metadata directory tree path to the rmap btree file for each rt group. Signed-off-by: Darrick J. Wong --- libfrog/scrub.c | 5 +++++ libxfs/xfs_fs.h | 3 ++- scrub/scrub.c | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/libfrog/scrub.c b/libfrog/scrub.c index 351505f08..86c3b9de2 100644 --- a/libfrog/scrub.c +++ b/libfrog/scrub.c @@ -177,6 +177,11 @@ const struct xfrog_scrub_descr xfrog_metapaths[XFS_SCRUB_METAPATH_NR] = { .descr = "metapath", .group = XFROG_SCRUB_GROUP_NONE, }, + [XFS_SCRUB_METAPATH_RTRMAPBT] = { + .name = "rtrmapbt", + .descr = "rmap btree file metadir path", + .group = XFROG_SCRUB_GROUP_RTGROUP, + }, }; /* Invoke the scrub ioctl. Returns zero or negative error code. */ diff --git a/libxfs/xfs_fs.h b/libxfs/xfs_fs.h index 05bbe6fac..51a4bff11 100644 --- a/libxfs/xfs_fs.h +++ b/libxfs/xfs_fs.h @@ -824,9 +824,10 @@ struct xfs_scrub_vec_head { * path checking. */ #define XFS_SCRUB_METAPATH_PROBE (0) /* do we have a metapath scrubber? */ +#define XFS_SCRUB_METAPATH_RTRMAPBT (1) /* realtime reverse mapping */ /* Number of metapath sm_ino values */ -#define XFS_SCRUB_METAPATH_NR 1 +#define XFS_SCRUB_METAPATH_NR (2) /* * ioctl limits diff --git a/scrub/scrub.c b/scrub/scrub.c index 855f4f833..a2fd8d77d 100644 --- a/scrub/scrub.c +++ b/scrub/scrub.c @@ -66,6 +66,9 @@ format_metapath_descr( (unsigned long long)vhead->svh_ino); sc = &xfrog_metapaths[vhead->svh_ino]; + if (sc->group == XFROG_SCRUB_GROUP_RTGROUP) + return snprintf(buf, buflen, _("rtgroup %u %s"), + vhead->svh_agno, _(sc->descr)); return snprintf(buf, buflen, "%s", _(sc->descr)); } -- 2.50.1