Hi all, auditing the perag code for the generic groups feature found an issue where recovery of an extfree intent without a logged done entry will fail when the log also contained the transaction that added the AG to the extent is freed to because the file system geometry in the superblock is only updated updated and the perag structures are only created after log recovery has finished. This version now also ensures the transactions using the new AGs are not in the same CIL checkpoint as the growfs transaction. Changes since v1: - rename old_agcount to orig_agcount in xlog_do_recover - remove a redundant check in xfs_initialize_perag - remove xlog_recover_update_agcount and fold it into the only caller - add a new patch to update the pag values for the last AG - add more detailed comments - dropped the changes to ensure post-growfs transactions touching the superblock are forced into their own checkpoint for now. Based on reviews this needs a lot more work, and isn't needed to fix the known failing test. Diffstat: libxfs/xfs_ag.c | 75 ++++++++++++++++++------------------------------- libxfs/xfs_ag.h | 23 +++++++++------ libxfs/xfs_alloc.c | 4 +- xfs_buf_item_recover.c | 70 +++++++++++++++++++++++++++++++++++++++++++++ xfs_fsops.c | 20 +++++-------- xfs_log_recover.c | 7 ---- xfs_mount.c | 9 ++--- 7 files changed, 129 insertions(+), 79 deletions(-)