]> www.infradead.org Git - users/hch/xfsprogs.git/commitdiff
xfs: scrub the metadir path of rt rmap btree files
authorDarrick J. Wong <djwong@kernel.org>
Wed, 3 Jul 2024 21:22:19 +0000 (14:22 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Tue, 9 Jul 2024 22:37:19 +0000 (15:37 -0700)
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 <djwong@kernel.org>
libfrog/scrub.c
libxfs/xfs_fs.h
scrub/scrub.c

index 351505f08ca91b8346cc982c5f75e5c9579f7f66..86c3b9de296e04da5e9254bd8f5177371bab8b12 100644 (file)
@@ -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. */
index 05bbe6fac4560119d99a4faa0fc2c75498e33356..51a4bff117ececa5e3f79d6593da1be4ba718e04 100644 (file)
@@ -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
index 855f4f8330b6c03c7b8bf2dbf55349bb92485d67..a2fd8d77d82be0479356279b34642b424f6a3f16 100644 (file)
@@ -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));
 }