Hi all, Add the ability to regenerate inode fork mappings if the rmapbt otherwise looks ok. 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 xfsprogs git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=repair-rebuild-forks --- Commits in this patchset: * xfs_repair: push inode buf and dinode pointers all the way to inode fork processing * xfs_repair: sync bulkload data structures with kernel newbt code * xfs_repair: rebuild block mappings from rmapbt data --- include/xfs_trans.h | 2 libxfs/libxfs_api_defs.h | 16 + libxfs/trans.c | 48 +++ repair/Makefile | 2 repair/agbtree.c | 24 + repair/bmap_repair.c | 749 ++++++++++++++++++++++++++++++++++++++++++++++ repair/bmap_repair.h | 13 + repair/bulkload.c | 260 +++++++++++++++- repair/bulkload.h | 34 ++ repair/dino_chunks.c | 5 repair/dinode.c | 142 ++++++--- repair/dinode.h | 7 repair/phase5.c | 2 repair/rmap.c | 2 repair/rmap.h | 1 15 files changed, 1227 insertions(+), 80 deletions(-) create mode 100644 repair/bmap_repair.c create mode 100644 repair/bmap_repair.h