diff options
author | Darrick J. Wong <djwong@kernel.org> | 2021-09-01 10:44:32 -0700 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2021-12-15 17:28:51 -0800 |
commit | 80ca7540c3b69f63d4ea44c7f43d44574882888d (patch) | |
tree | ecde5a10811c73ec43fbc2e2490230d292ad6b8a /fs/xfs/scrub/scrub.c | |
parent | 6b12c7bbde93299ee6f1f80a3f7f9e32f3cb40a2 (diff) |
xfs: implement online scrubbing of rtsummary infoscrub-rtsummary_2021-12-15
Finish the realtime summary scrubber by adding the functions we need to
compute a fresh copy of the rtsummary info and comparing it to the copy
on disk.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Diffstat (limited to 'fs/xfs/scrub/scrub.c')
-rw-r--r-- | fs/xfs/scrub/scrub.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/xfs/scrub/scrub.c b/fs/xfs/scrub/scrub.c index a9674ef1e31e..71d962cf1a4e 100644 --- a/fs/xfs/scrub/scrub.c +++ b/fs/xfs/scrub/scrub.c @@ -24,6 +24,7 @@ #include "scrub/trace.h" #include "scrub/repair.h" #include "scrub/health.h" +#include "scrub/xfile.h" /* * Online Scrub and Repair @@ -171,6 +172,10 @@ xchk_teardown( mnt_drop_write_file(sc->file); if (sc->flags & XCHK_REAPING_DISABLED) xchk_start_reaping(sc); + if (sc->xfile) { + xfile_destroy(sc->xfile); + sc->xfile = NULL; + } if (sc->buf) { kmem_free(sc->buf); sc->buf = NULL; @@ -300,14 +305,14 @@ static const struct xchk_meta_ops meta_scrub_ops[] = { }, [XFS_SCRUB_TYPE_RTBITMAP] = { /* realtime bitmap */ .type = ST_FS, - .setup = xchk_setup_rt, + .setup = xchk_setup_rtbitmap, .scrub = xchk_rtbitmap, .has = xfs_has_realtime, .repair = xrep_notsupported, }, [XFS_SCRUB_TYPE_RTSUM] = { /* realtime summary */ .type = ST_FS, - .setup = xchk_setup_rt, + .setup = xchk_setup_rtsummary, .scrub = xchk_rtsummary, .has = xfs_has_realtime, .repair = xrep_notsupported, |