public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET v28.1 0/7] xfs: online repair of AG btrees
@ 2023-12-07  2:38 Darrick J. Wong
  2023-12-07  2:40 ` [PATCH 1/7] xfs: create separate structures and code for u32 bitmaps Darrick J. Wong
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Darrick J. Wong @ 2023-12-07  2:38 UTC (permalink / raw)
  To: djwong; +Cc: Dave Chinner, Christoph Hellwig, linux-xfs

Hi all,

Now that we've spent a lot of time reworking common code in online fsck,
we're ready to start rebuilding the AG space btrees.  This series
implements repair functions for the free space, inode, and refcount
btrees.  Rebuilding the reverse mapping btree is much more intense and
is left for a subsequent patchset.  The fstests counterpart of this
patchset implements stress testing of repair.

If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.

This has been running on the djcloud for months with no problems.  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=repair-ag-btrees

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=repair-ag-btrees

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=repair-ag-btrees
---
 fs/xfs/Makefile                    |    4 
 fs/xfs/libxfs/xfs_ag.h             |   10 
 fs/xfs/libxfs/xfs_ag_resv.c        |    2 
 fs/xfs/libxfs/xfs_alloc.c          |   10 
 fs/xfs/libxfs/xfs_alloc.h          |    2 
 fs/xfs/libxfs/xfs_alloc_btree.c    |   13 -
 fs/xfs/libxfs/xfs_btree.c          |   26 +
 fs/xfs/libxfs/xfs_btree.h          |    2 
 fs/xfs/libxfs/xfs_ialloc.c         |   31 +
 fs/xfs/libxfs/xfs_ialloc.h         |    3 
 fs/xfs/libxfs/xfs_refcount.c       |    8 
 fs/xfs/libxfs/xfs_refcount.h       |    2 
 fs/xfs/libxfs/xfs_refcount_btree.c |   13 -
 fs/xfs/libxfs/xfs_types.h          |    7 
 fs/xfs/scrub/agb_bitmap.c          |  103 ++++
 fs/xfs/scrub/agb_bitmap.h          |   68 +++
 fs/xfs/scrub/agheader_repair.c     |   19 -
 fs/xfs/scrub/alloc.c               |   52 +-
 fs/xfs/scrub/alloc_repair.c        |  934 ++++++++++++++++++++++++++++++++++++
 fs/xfs/scrub/bitmap.c              |  509 +++++++++++++-------
 fs/xfs/scrub/bitmap.h              |  111 +---
 fs/xfs/scrub/common.c              |    1 
 fs/xfs/scrub/common.h              |   19 +
 fs/xfs/scrub/ialloc.c              |   39 +-
 fs/xfs/scrub/ialloc_repair.c       |  884 ++++++++++++++++++++++++++++++++++
 fs/xfs/scrub/newbt.c               |   48 ++
 fs/xfs/scrub/newbt.h               |    3 
 fs/xfs/scrub/reap.c                |    6 
 fs/xfs/scrub/refcount.c            |    2 
 fs/xfs/scrub/refcount_repair.c     |  794 +++++++++++++++++++++++++++++++
 fs/xfs/scrub/repair.c              |  131 +++++
 fs/xfs/scrub/repair.h              |   43 ++
 fs/xfs/scrub/rmap.c                |    1 
 fs/xfs/scrub/scrub.c               |   30 +
 fs/xfs/scrub/scrub.h               |   15 -
 fs/xfs/scrub/trace.h               |  112 +++-
 fs/xfs/scrub/xfarray.h             |   22 +
 fs/xfs/xfs_extent_busy.c           |   13 +
 fs/xfs/xfs_extent_busy.h           |    2 
 39 files changed, 3709 insertions(+), 385 deletions(-)
 create mode 100644 fs/xfs/scrub/agb_bitmap.c
 create mode 100644 fs/xfs/scrub/agb_bitmap.h
 create mode 100644 fs/xfs/scrub/alloc_repair.c
 create mode 100644 fs/xfs/scrub/ialloc_repair.c
 create mode 100644 fs/xfs/scrub/refcount_repair.c


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2023-12-11 19:32 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-07  2:38 [PATCHSET v28.1 0/7] xfs: online repair of AG btrees Darrick J. Wong
2023-12-07  2:40 ` [PATCH 1/7] xfs: create separate structures and code for u32 bitmaps Darrick J. Wong
2023-12-07  2:40 ` [PATCH 2/7] xfs: move the per-AG datatype bitmaps to separate files Darrick J. Wong
2023-12-07  5:27   ` Christoph Hellwig
2023-12-07  2:40 ` [PATCH 3/7] xfs: roll the scrub transaction after completing a repair Darrick J. Wong
2023-12-07  2:40 ` [PATCH 4/7] xfs: remove trivial bnobt/inobt scrub helpers Darrick J. Wong
2023-12-07  5:28   ` Christoph Hellwig
2023-12-07  2:41 ` [PATCH 5/7] xfs: repair free space btrees Darrick J. Wong
2023-12-07  5:30   ` Christoph Hellwig
2023-12-11 19:15     ` Darrick J. Wong
2023-12-11 19:32       ` Christoph Hellwig
2023-12-07  2:41 ` [PATCH 6/7] xfs: repair inode btrees Darrick J. Wong
2023-12-07  5:30   ` Christoph Hellwig
2023-12-07  2:41 ` [PATCH 7/7] xfs: repair refcount btrees Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox