mbox series

[PATCHSET,v25.0,0/4] xfs: online scrubbing of realtime summary files

Message ID 168506056859.3729869.14765688109434520098.stgit@frogsfrogsfrogs (mailing list archive)
Headers show
Series xfs: online scrubbing of realtime summary files | expand

Message

Darrick J. Wong May 26, 2023, 12:29 a.m. UTC
Hi all,

This patchset implements an online checker for the realtime summary
file.  The first few changes are some general cleanups -- scrub should
get its own references to all inodes, and we also wrap the inode lock
functions so that we can standardize unlocking and releasing inodes that
are the focus of a scrub.

With that out of the way, we move on to constructing a shadow copy of
the rtsummary information from the rtbitmap, and compare the new copy
against the ondisk copy.

If you're going to start using this mess, you probably ought to just
pull from my git trees, which are linked below.

This is an extraordinary way to destroy everything.  Enjoy!
Comments and questions are, as always, welcome.

--D

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=scrub-rtsummary

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=scrub-rtsummary
---
 fs/xfs/Makefile          |    6 +
 fs/xfs/scrub/bmap.c      |    9 +-
 fs/xfs/scrub/common.c    |   63 +++++++++--
 fs/xfs/scrub/common.h    |   16 ++-
 fs/xfs/scrub/inode.c     |   11 +-
 fs/xfs/scrub/parent.c    |    4 -
 fs/xfs/scrub/quota.c     |   15 +--
 fs/xfs/scrub/rtbitmap.c  |   48 +-------
 fs/xfs/scrub/rtsummary.c |  262 ++++++++++++++++++++++++++++++++++++++++++++++
 fs/xfs/scrub/scrub.c     |   17 ++-
 fs/xfs/scrub/scrub.h     |    4 +
 fs/xfs/scrub/trace.h     |   34 ++++++
 fs/xfs/xfs_trace.h       |    3 +
 13 files changed, 410 insertions(+), 82 deletions(-)
 create mode 100644 fs/xfs/scrub/rtsummary.c

Comments

Dave Chinner June 22, 2023, 3:11 a.m. UTC | #1
On Thu, May 25, 2023 at 05:29:11PM -0700, Darrick J. Wong wrote:
> Hi all,
> 
> This patchset implements an online checker for the realtime summary
> file.  The first few changes are some general cleanups -- scrub should
> get its own references to all inodes, and we also wrap the inode lock
> functions so that we can standardize unlocking and releasing inodes that
> are the focus of a scrub.
> 
> With that out of the way, we move on to constructing a shadow copy of
> the rtsummary information from the rtbitmap, and compare the new copy
> against the ondisk copy.
> 
> If you're going to start using this mess, you probably ought to just
> pull from my git trees, which are linked below.
> 
> This is an extraordinary way to destroy everything.  Enjoy!
> Comments and questions are, as always, welcome.
> 
> --D
> 
> kernel git tree:
> https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=scrub-rtsummary
> 
> fstests git tree:
> https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=scrub-rtsummary
> ---
>  fs/xfs/Makefile          |    6 +
>  fs/xfs/scrub/bmap.c      |    9 +-
>  fs/xfs/scrub/common.c    |   63 +++++++++--
>  fs/xfs/scrub/common.h    |   16 ++-
>  fs/xfs/scrub/inode.c     |   11 +-
>  fs/xfs/scrub/parent.c    |    4 -
>  fs/xfs/scrub/quota.c     |   15 +--
>  fs/xfs/scrub/rtbitmap.c  |   48 +-------
>  fs/xfs/scrub/rtsummary.c |  262 ++++++++++++++++++++++++++++++++++++++++++++++
>  fs/xfs/scrub/scrub.c     |   17 ++-
>  fs/xfs/scrub/scrub.h     |    4 +
>  fs/xfs/scrub/trace.h     |   34 ++++++
>  fs/xfs/xfs_trace.h       |    3 +
>  13 files changed, 410 insertions(+), 82 deletions(-)
>  create mode 100644 fs/xfs/scrub/rtsummary.c

Looks OK, nothing screams out at me that "this is wrong!".

Reviewed-by: Dave Chinner <dchinner@redhat.com>