[GIT PULL 08/10] xfs_repair: use in-memory rmap btrees

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Carlos,

Please pull this branch with changes for xfsprogs for 6.6-rc1.

As usual, I did a test-merge with the main upstream branch as of a few
minutes ago, and didn't see any conflicts.  Please let me know if you
encounter any problems.

The following changes since commit 842676ed999f0baae79c3de3ad6e2d3b90733f49:

xfs_repair: check num before bplist[num] (2024-06-03 11:37:42 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfsprogs-dev.git tags/repair-use-in-memory-btrees-6.9_2024-06-03

for you to fetch changes up to 47307ecef44599b2caf0546c7e518b544e14d9c8:

xfs_repair: remove the old rmap collection slabs (2024-06-03 11:37:42 -0700)

----------------------------------------------------------------
xfs_repair: use in-memory rmap btrees [v30.5 08/35]

Now that we've ported support for in-memory btrees to userspace, port
xfs_repair to use them instead of the clunky slab interface that we
currently use.  This has the effect of moving memory consumption for
tracking reverse mappings into a memfd file, which means that we could
(theoretically) reduce the memory requirements by pointing it at an
on-disk file or something.  It also enables us to remove the sorting
step and to avoid having to coalesce adjacent contiguous bmap records
into a single rmap record.

This has been running on the djcloud for months with no problems.  Enjoy!

Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>

----------------------------------------------------------------
Christoph Hellwig (1):
libxfs: provide a kernel-compatible kasprintf

Darrick J. Wong (5):
xfs_repair: convert regular rmap repair to use in-memory btrees
xfs_repair: verify on-disk rmap btrees with in-memory btree data
xfs_repair: compute refcount data from in-memory rmap btrees
xfs_repair: reduce rmap bag memory usage when creating refcounts
xfs_repair: remove the old rmap collection slabs

include/kmem.h           |   3 +
include/libxfs.h         |   3 +
libxfs/buf_mem.h         |   5 +
libxfs/kmem.c            |  13 +
libxfs/libxfs_api_defs.h |  13 +
repair/agbtree.c         |  18 +-
repair/agbtree.h         |   1 +
repair/dinode.c          |   9 +-
repair/phase4.c          |  25 +-
repair/phase5.c          |   2 +-
repair/rmap.c            | 762 ++++++++++++++++++++++++++++++-----------------
repair/rmap.h            |  25 +-
repair/scan.c            |   7 +-
repair/slab.c            |  49 +--
repair/slab.h            |   2 +-
repair/xfs_repair.c      |   6 +
16 files changed, 602 insertions(+), 341 deletions(-)





[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux