> } > #endif > + > +static inline void > +xfs_clear_li_failed( > + struct xfs_log_item *lip) > +{ > + struct xfs_buf *bp = lip->li_buf; > + > + ASSERT(lip->li_flags & XFS_LI_IN_AIL); > + lockdep_assert_held(&lip->li_ailp->xa_lock); > + > + if (lip->li_flags & XFS_LI_FAILED) { > + lip->li_flags &= ~XFS_LI_FAILED; > + lip->li_buf = NULL; > + xfs_buf_rele(bp); This means we now nest pag->pag_buf_lock and bp->b_lock inside ailp->xa_lock. I couldn't find any place where we take it in a different order, but it makes me feel a little nervous. Also I think the set/clear failed helper might better be out of line instead of bloating the callers. Except for that the patch looks fine to me. -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html