@@ -144,6 +144,11 @@ const struct xfrog_scrub_descr xfrog_scrubbers[XFS_SCRUB_TYPE_NR] = {
.descr = "inode link counts",
.group = XFROG_SCRUB_GROUP_ISCAN,
},
+ [XFS_SCRUB_TYPE_HEALTHY] = {
+ .name = "healthy",
+ .descr = "retained health records",
+ .group = XFROG_SCRUB_GROUP_NONE,
+ },
};
/* Invoke the scrub ioctl. Returns zero or negative error code. */
@@ -168,6 +168,12 @@ count) for errors.
.TP
.B XFS_SCRUB_TYPE_NLINKS
Scan all inodes in the filesystem to verify each file's link count.
+
+.TP
+.B XFS_SCRUB_TYPE_HEALTHY
+Mark everything healthy after a clean scrub run.
+This clears out all the indirect health problem markers that might remain
+in the system.
.RE
.PD 1
@@ -39,20 +39,15 @@ format_scrub_descr(
case XFROG_SCRUB_GROUP_PERAG:
return snprintf(buf, buflen, _("AG %u %s"), meta->sm_agno,
_(sc->descr));
- break;
case XFROG_SCRUB_GROUP_INODE:
return scrub_render_ino_descr(ctx, buf, buflen,
meta->sm_ino, meta->sm_gen, "%s",
_(sc->descr));
- break;
case XFROG_SCRUB_GROUP_FS:
case XFROG_SCRUB_GROUP_SUMMARY:
case XFROG_SCRUB_GROUP_ISCAN:
- return snprintf(buf, buflen, _("%s"), _(sc->descr));
- break;
case XFROG_SCRUB_GROUP_NONE:
- assert(0);
- break;
+ return snprintf(buf, buflen, _("%s"), _(sc->descr));
}
return -1;
}