Re: [PATCH 09/24] xfs: use direct calls for dquot IO completion

Christoph Hellwig
2020-05-23T09:16:09Z

> +void
> +xfs_dquot_done(
> + struct xfs_buf *bp)
> +{
> + struct xfs_log_item *lip;
> +
> + while (!list_empty(&bp->b_li_list)) {
> + lip = list_first_entry(&bp->b_li_list, struct xfs_log_item,
> + li_bio_list);
> +
> + /*
> + * Remove the item from the list, so we don't have any
> + * confusion if the item is added to another buf.
> + * Don't touch the log item after calling its
> + * callback, because it could have freed itself.
> + */
> + list_del_init(&lip->li_bio_list);
> + xfs_qm_dqflush_done(lip);

I know this was just moved, but I find the comment horrible confusing
and not actually adding any value. Can we just remove it? For extra
clarity this could also be switched to list_for_each_entry_safe:

list_for_each_entry_safe(lip, n, &bp->b_li_list, li_bio_list) {
list_del_init(&lip->li_bio_list);
xfs_qm_dqflush_done(lip);
}