> list_for_each_entry_safe(item, next, &trans->r_itemq, ri_list) { > + trace_xfs_log_recover_item_recover(log, trans, item, pass); > + > + if (!item->ri_ops) { > + xfs_warn(log->l_mp, "%s: invalid item type (%d)", > + __func__, ITEM_TYPE(item)); > + ASSERT(0); > + return -EFSCORRUPTED; > + } Given that we check for ri_ops during the reorder phase this can't happen. I think we should remove this check. Otherwise looks good: Reviewed-by: Christoph Hellwig <hch@xxxxxx>