[GIT PULL 4/6] xfs: online repair of file fork mappings

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

 



Hi Chandan,

Please pull this branch with changes for xfs for 6.8-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.

--D

The following changes since commit c3a22c2e4b45fcf3184e7dd1c755e6b45dc9f499:

xfs: skip the rmapbt search on an empty attr fork unless we know it was zapped (2023-12-15 10:03:38 -0800)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/repair-file-mappings-6.8_2023-12-15

for you to fetch changes up to dbbdbd0086320a026903ca34efedb6abf55230ed:

xfs: repair problems in CoW forks (2023-12-15 10:03:40 -0800)

----------------------------------------------------------------
xfs: online repair of file fork mappings [v28.3]

In this series, online repair gains the ability to rebuild data and attr
fork mappings from the reverse mapping information.  It is at this point
where we reintroduce the ability to reap file extents.

Repair of CoW forks is a little different -- on disk, CoW staging
extents are owned by the refcount btree and cannot be mapped back to
individual files.  Hence we can only detect staging extents that don't
quite look right (missing reverse mappings, shared staging extents) and
replace them with fresh allocations.

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

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

----------------------------------------------------------------
Darrick J. Wong (5):
xfs: reintroduce reaping of file metadata blocks to xrep_reap_extents
xfs: repair inode fork block mapping data structures
xfs: refactor repair forcing tests into a repair.c helper
xfs: create a ranged query function for refcount btrees
xfs: repair problems in CoW forks

fs/xfs/Makefile                   |   2 +
fs/xfs/libxfs/xfs_bmap_btree.c    | 121 +++++-
fs/xfs/libxfs/xfs_bmap_btree.h    |   5 +
fs/xfs/libxfs/xfs_btree_staging.c |  11 +-
fs/xfs/libxfs/xfs_btree_staging.h |   2 +-
fs/xfs/libxfs/xfs_iext_tree.c     |  23 +-
fs/xfs/libxfs/xfs_inode_fork.c    |   1 +
fs/xfs/libxfs/xfs_inode_fork.h    |   3 +
fs/xfs/libxfs/xfs_refcount.c      |  41 ++
fs/xfs/libxfs/xfs_refcount.h      |  10 +
fs/xfs/scrub/bmap.c               |  18 +
fs/xfs/scrub/bmap_repair.c        | 858 ++++++++++++++++++++++++++++++++++++++
fs/xfs/scrub/common.h             |   6 +-
fs/xfs/scrub/cow_repair.c         | 614 +++++++++++++++++++++++++++
fs/xfs/scrub/fsb_bitmap.h         |  37 ++
fs/xfs/scrub/off_bitmap.h         |  37 ++
fs/xfs/scrub/reap.c               | 153 ++++++-
fs/xfs/scrub/reap.h               |   5 +
fs/xfs/scrub/repair.c             |  50 +++
fs/xfs/scrub/repair.h             |  11 +
fs/xfs/scrub/scrub.c              |  20 +-
fs/xfs/scrub/trace.h              | 118 +++++-
fs/xfs/xfs_trans.c                |  62 +++
fs/xfs/xfs_trans.h                |   4 +
24 files changed, 2160 insertions(+), 52 deletions(-)
create mode 100644 fs/xfs/scrub/bmap_repair.c
create mode 100644 fs/xfs/scrub/cow_repair.c
create mode 100644 fs/xfs/scrub/fsb_bitmap.h
create mode 100644 fs/xfs/scrub/off_bitmap.h





[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