Hi all, This series enables xfs_repair to add select features to existing V5 filesystems. Specifically, one can add free inode btrees, reflink support, and reverse mapping. 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=upgrade-newer-features fstests git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=upgrade-newer-features --- Commits in this patchset: * xfs_repair: allow sysadmins to add free inode btree indexes * xfs_repair: allow sysadmins to add reflink * xfs_repair: allow sysadmins to add reverse mapping indexes * xfs_repair: upgrade an existing filesystem to have parent pointers * xfs_repair: allow sysadmins to add metadata directories * xfs_repair: upgrade filesystems to support rtgroups when adding metadir * xfs_repair: allow sysadmins to add realtime reverse mapping indexes * xfs_repair: allow sysadmins to add realtime reflink * xfs_repair: skip free space checks when upgrading * xfs_repair: allow adding rmapbt to reflink filesystems --- libxfs/libxfs_api_defs.h | 1 man/man8/xfs_admin.8 | 37 +++++ repair/dino_chunks.c | 6 + repair/dinode.c | 5 + repair/globals.c | 7 + repair/globals.h | 7 + repair/phase2.c | 341 +++++++++++++++++++++++++++++++++++++++++++++- repair/phase4.c | 5 + repair/pptr.c | 15 ++ repair/protos.h | 6 + repair/rmap.c | 12 +- repair/xfs_repair.c | 77 ++++++++++ 12 files changed, 505 insertions(+), 14 deletions(-)