Hi all, Backport libxfs changes for 5.16. 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.16-sync --- copy/xfs_copy.c | 2 copy/xfs_copy.h | 2 db/bmap.c | 4 - db/bmroot.c | 18 +- db/btheight.c | 99 +++++++++++-- db/check.c | 32 ++-- db/dquot.c | 8 + db/field.c | 6 - db/frag.c | 18 +- db/inode.c | 46 +++--- db/metadump.c | 45 ++++-- estimate/xfs_estimate.c | 2 include/kmem.h | 30 ++-- include/platform_defs.h.in | 3 include/xfs_mount.h | 3 include/xfs_trans.h | 3 libxfs/defer_item.c | 32 ++-- libxfs/init.c | 103 ++++++++----- libxfs/kmem.c | 77 +++++++--- libxfs/libxfs_api_defs.h | 6 + libxfs/libxfs_priv.h | 14 +- libxfs/logitem.c | 8 + libxfs/rdwr.c | 20 +-- libxfs/trans.c | 14 +- libxfs/util.c | 2 libxfs/xfs_ag.c | 2 libxfs/xfs_ag.h | 36 +++-- libxfs/xfs_ag_resv.c | 3 libxfs/xfs_alloc.c | 120 +++++++++++++-- libxfs/xfs_alloc.h | 38 +++++ libxfs/xfs_alloc_btree.c | 63 +++++++- libxfs/xfs_alloc_btree.h | 5 + libxfs/xfs_attr.c | 27 ++- libxfs/xfs_attr_leaf.c | 2 libxfs/xfs_bmap.c | 101 ++++--------- libxfs/xfs_bmap.h | 35 +---- libxfs/xfs_bmap_btree.c | 62 +++++++- libxfs/xfs_bmap_btree.h | 5 + libxfs/xfs_btree.c | 333 ++++++++++++++++++++++++++----------------- libxfs/xfs_btree.h | 99 +++++++++---- libxfs/xfs_btree_staging.c | 8 + libxfs/xfs_da_btree.c | 11 + libxfs/xfs_da_btree.h | 3 libxfs/xfs_defer.c | 241 ++++++++++++++++++++++++------- libxfs/xfs_defer.h | 41 ++++- libxfs/xfs_dquot_buf.c | 4 - libxfs/xfs_format.h | 12 +- libxfs/xfs_fs.h | 2 libxfs/xfs_ialloc.c | 5 - libxfs/xfs_ialloc_btree.c | 90 ++++++++++-- libxfs/xfs_ialloc_btree.h | 5 + libxfs/xfs_inode_buf.c | 6 - libxfs/xfs_inode_fork.c | 24 ++- libxfs/xfs_inode_fork.h | 2 libxfs/xfs_refcount.c | 46 ++++-- libxfs/xfs_refcount.h | 7 + libxfs/xfs_refcount_btree.c | 73 ++++++++- libxfs/xfs_refcount_btree.h | 5 + libxfs/xfs_rmap.c | 21 +++ libxfs/xfs_rmap.h | 7 + libxfs/xfs_rmap_btree.c | 116 +++++++++++---- libxfs/xfs_rmap_btree.h | 5 + libxfs/xfs_sb.c | 4 - libxfs/xfs_shared.h | 20 --- libxfs/xfs_trans_resv.c | 18 ++ libxfs/xfs_trans_space.h | 9 + logprint/log_print_all.c | 2 logprint/logprint.c | 2 man/man8/xfs_db.8 | 8 + mdrestore/xfs_mdrestore.c | 6 - repair/attr_repair.c | 6 - repair/attr_repair.h | 2 repair/da_util.h | 2 repair/dino_chunks.c | 4 - repair/dinode.c | 50 +++--- repair/dinode.h | 6 - repair/dir2.c | 14 +- repair/dir2.h | 2 repair/incore.h | 2 repair/prefetch.c | 6 - repair/rt.c | 4 - repair/rt.h | 2 repair/sb.c | 6 - repair/scan.c | 33 ++++ 84 files changed, 1666 insertions(+), 804 deletions(-)