Hi all, I dug into a rabit hole about the log item formatting recently, and noticed that the handling of the opheaders is still pretty ugly because it leaks pre-delayed logging implementation details into the log item implementations. The core of this series is to remove the to reserve space in the CIL buffers/shadow buffers for the opheaders that already were generated more or less on the fly by the lowlevel log write code anyway, but there's lots of other cleanups around it. Diffstat: libxfs/xfs_log_format.h | 54 ----- libxfs/xfs_log_recover.h | 6 xfs_attr_item.c | 156 +++++++------- xfs_attr_item.h | 8 xfs_bmap_item.c | 28 +- xfs_buf_item.c | 27 +- xfs_buf_item.h | 2 xfs_buf_item_recover.c | 38 +-- xfs_dquot_item.c | 9 xfs_dquot_item_recover.c | 20 - xfs_exchmaps_item.c | 19 - xfs_extfree_item.c | 69 +++--- xfs_icreate_item.c | 8 xfs_inode_item.c | 55 ++--- xfs_inode_item.h | 4 xfs_inode_item_recover.c | 26 +- xfs_log.c | 503 ++++++++++++++++++----------------------------- xfs_log.h | 106 ++++----- xfs_log_cil.c | 195 ++++++++++-------- xfs_log_priv.h | 29 ++ xfs_log_recover.c | 16 - xfs_refcount_item.c | 44 +--- xfs_rmap_item.c | 44 +--- xfs_trans.h | 5 24 files changed, 668 insertions(+), 803 deletions(-)