> if (need_ail) { > - bool mlip_changed = false; > + xfs_lsn_t tail_lsn = 0; > > /* this is an opencoded batch version of xfs_trans_ail_delete */ > spin_lock(&ailp->ail_lock); > list_for_each_entry(blip, &tmp, li_bio_list) { > if (INODE_ITEM(blip)->ili_logged && > + blip->li_lsn == INODE_ITEM(blip)->ili_flush_lsn) { > + /* > + * xfs_ail_update_finish() only cares about the > + * lsn of the first tail item removed, any others This adds an > 80 chars line. Maybe just do the xfs_clear_li_failed in the if and continue to make the code a little easier to read. Otherwise this looks good: Reviewed-by: Christoph Hellwig <hch@xxxxxx>