]> www.infradead.org Git - users/hch/xfsprogs.git/commitdiff
xfs_io: support scrubbing rtgroup metadata
authorDarrick J. Wong <djwong@kernel.org>
Fri, 11 Aug 2023 19:24:04 +0000 (12:24 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Wed, 22 Nov 2023 23:03:35 +0000 (15:03 -0800)
Support scrubbing all rtgroup metadata with a scrubv call.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
io/scrub.c
man/man8/xfs_io.8

index 96e25a29c852eef08f7f30e01e1e37d2564da552..9290b3977e162c7e38cd6bb58aeb7948e45d4939 100644 (file)
@@ -540,6 +540,8 @@ scrubv_f(
                group = XFROG_SCRUB_GROUP_ISCAN;
        else if (!strcmp(argv[optind], "summary"))
                group = XFROG_SCRUB_GROUP_SUMMARY;
+       else if (!strcmp(argv[optind], "rtgroup"))
+               group = XFROG_SCRUB_GROUP_RTGROUP;
        else {
                printf(_("Unknown group '%s'.\n"), argv[optind]);
                scrubv_help();
@@ -613,6 +615,19 @@ scrubv_f(
                        return 0;
                }
                break;
+       case XFROG_SCRUB_GROUP_RTGROUP:
+               if (optind != argc - 1) {
+                       fprintf(stderr,
+                               _("Must specify one rtgroup number.\n"));
+                       return 0;
+               }
+               vhead->svh_agno = strtoul(argv[optind], &p, 0);
+               if (*p != '\0') {
+                       fprintf(stderr,
+                               _("Bad rtgroup number '%s'.\n"), argv[optind]);
+                       return 0;
+               }
+               break;
        default:
                ASSERT(0);
                break;
index 734c31a161ee5466c03ef7b87335e744121f350c..05a1cff7f61848118c793d739cb4043940e37059 100644 (file)
@@ -1419,11 +1419,12 @@ Currently supported versions are 1 and 5.
 .RE
 .PD
 .TP
-.BI "scrub " type " [ " agnumber " | " "ino" " " "gen" " | " metapath " ]"
+.BI "scrub " type " [ " agnumber " | " rgnumber " | " "ino" " " "gen" " | " metapath " ]"
 Scrub internal XFS filesystem metadata.  The
 .BI type
 parameter specifies which type of metadata to scrub.
 For AG metadata, one AG number must be specified.
+For realtime group metadata, one rtgroup number must be specified.
 For file metadata, the scrub is applied to the open file unless the
 inode number and generation number are specified.
 For metapath, the name of a file or a raw number must be specified.