- xfs_efi_init needs to initialize efi_next_extent using ATOMIC_INIT - there is a behaviour change about the xfs_trans_del_item call in xfs_efi_item_unpin - before it was protected by the XFS_EFI_CANCELED which was never set, and now it's not. - what happened to XFS_EFI_RECOVERED? You changed it to be indexed for the atomic bit-ops, but it's still used non-atomic in the log recovery code. - Why is XFS_EFI_COMMITTED cleared in xlog_recover_do_efi_trans, where it can't ever be set? - can you please add a shared helper for xfs_efi_item_unpin and xfs_efi_release, ala: STATIC void __xfs_efi_release( xfs_efi_log_item_t *efip) { if (!test_and_clear_bit(XFS_EFI_COMMITTED, &efip->efi_flags)) { struct xfs_ail *ailp = efip->efi_item.li_ailp; spin_lock(&ailp->xa_lock); /* xfs_trans_ail_delete() drops the AIL lock. */ xfs_trans_ail_delete(ailp, &efip->efi_item); xfs_efi_item_free(efip); } so that it's obvious they do the same release operation? _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs