Hi all, This patchset backports all the libxfs changes from kernel 5.14, as well as all the related for_each_perag and fallthrough; cleanups that went with it. I've prepared this series and pull request per Eric's request. If you're going to start using this mess, you probably ought to just pull from my git trees, which are linked below. This is an extraordinary way to destroy everything. 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=libxfs-5.14-sync --- db/fsmap.c | 17 - db/info.c | 18 - db/type.c | 2 growfs/xfs_growfs.c | 6 include/atomic.h | 1 include/libxfs.h | 3 include/linux.h | 17 + include/xfs_mount.h | 65 --- include/xfs_multidisk.h | 5 libfrog/Makefile | 3 libfrog/mockups.h | 43 ++ libfrog/radix-tree.h | 3 libxfs/Makefile | 10 libxfs/init.c | 147 +++---- libxfs/libxfs_api_defs.h | 2 libxfs/libxfs_priv.h | 18 + libxfs/topology.c | 5 libxfs/topology.h | 6 libxfs/util.c | 12 - libxfs/xfs_ag.c | 287 +++++++++++++ libxfs/xfs_ag.h | 136 ++++++ libxfs/xfs_ag_resv.c | 15 - libxfs/xfs_ag_resv.h | 15 + libxfs/xfs_alloc.c | 113 +++-- libxfs/xfs_alloc.h | 2 libxfs/xfs_alloc_btree.c | 31 + libxfs/xfs_alloc_btree.h | 9 libxfs/xfs_attr.c | 956 ++++++++++++++++++++++++++----------------- libxfs/xfs_attr.h | 403 ++++++++++++++++++ libxfs/xfs_attr_leaf.c | 5 libxfs/xfs_attr_leaf.h | 2 libxfs/xfs_attr_remote.c | 167 +++----- libxfs/xfs_attr_remote.h | 8 libxfs/xfs_bmap.c | 3 libxfs/xfs_bmap.h | 1 libxfs/xfs_btree.c | 15 - libxfs/xfs_btree.h | 12 - libxfs/xfs_da_btree.c | 2 libxfs/xfs_ialloc.c | 696 ++++++++++++++++--------------- libxfs/xfs_ialloc.h | 43 -- libxfs/xfs_ialloc_btree.c | 46 +- libxfs/xfs_ialloc_btree.h | 13 - libxfs/xfs_inode_buf.c | 30 + libxfs/xfs_log_format.h | 14 - libxfs/xfs_refcount.c | 122 +++-- libxfs/xfs_refcount.h | 9 libxfs/xfs_refcount_btree.c | 39 +- libxfs/xfs_refcount_btree.h | 7 libxfs/xfs_rmap.c | 147 +++---- libxfs/xfs_rmap.h | 6 libxfs/xfs_rmap_btree.c | 46 +- libxfs/xfs_rmap_btree.h | 8 libxfs/xfs_sb.c | 145 ------- libxfs/xfs_sb.h | 9 libxfs/xfs_shared.h | 20 - libxfs/xfs_trans_inode.c | 10 libxfs/xfs_types.c | 4 libxfs/xfs_types.h | 1 mkfs/proto.c | 1 mkfs/proto.h | 13 + mkfs/xfs_mkfs.c | 11 repair/agbtree.c | 28 + repair/agbtree.h | 8 repair/dinode.c | 18 - repair/phase4.c | 4 repair/phase5.c | 16 - repair/rmap.c | 43 +- repair/sb.c | 1 repair/scan.c | 4 scrub/inodes.c | 2 scrub/repair.c | 2 scrub/scrub.c | 8 72 files changed, 2520 insertions(+), 1619 deletions(-) create mode 100644 libfrog/mockups.h rename libfrog/topology.c => libxfs/topology.c (99%) rename libfrog/topology.h => libxfs/topology.h (88%) create mode 100644 mkfs/proto.h