From: Darrick J. Wong <djwong@xxxxxxxxxx> Reduce the amount of time that the kernel spends with the rtbitmap locked for a scrub by splitting the work by rtgroup. Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> --- libfrog/scrub.c | 5 +++++ libxfs/xfs_fs.h | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libfrog/scrub.c b/libfrog/scrub.c index 7d6c9c69e4a..7efb7ecfbd0 100644 --- a/libfrog/scrub.c +++ b/libfrog/scrub.c @@ -154,6 +154,11 @@ const struct xfrog_scrub_descr xfrog_scrubbers[XFS_SCRUB_TYPE_NR] = { .descr = "realtime group superblock", .group = XFROG_SCRUB_GROUP_RTGROUP, }, + [XFS_SCRUB_TYPE_RGBITMAP] = { + .name = "rgbitmap", + .descr = "realtime group bitmap", + .group = XFROG_SCRUB_GROUP_RTGROUP, + }, }; #undef DEP diff --git a/libxfs/xfs_fs.h b/libxfs/xfs_fs.h index c12be9dbb59..7e9d7d7bb40 100644 --- a/libxfs/xfs_fs.h +++ b/libxfs/xfs_fs.h @@ -742,9 +742,10 @@ struct xfs_scrub_metadata { #define XFS_SCRUB_TYPE_NLINKS 26 /* inode link counts */ #define XFS_SCRUB_TYPE_HEALTHY 27 /* everything checked out ok */ #define XFS_SCRUB_TYPE_RGSUPER 28 /* realtime superblock */ +#define XFS_SCRUB_TYPE_RGBITMAP 29 /* realtime group bitmap */ /* Number of scrub subcommands. */ -#define XFS_SCRUB_TYPE_NR 29 +#define XFS_SCRUB_TYPE_NR 30 /* i: Repair this metadata. */ #define XFS_SCRUB_IFLAG_REPAIR (1u << 0)