Re: [PATCH 23/24] xfs: factor xfs_iflush_done

Christoph Hellwig
2020-05-23T11:35:22Z

On Fri, May 22, 2020 at 01:50:28PM +1000, Dave Chinner wrote:
> +xfs_iflush_ail_updates(
> + struct xfs_ail *ailp,
> + struct list_head *list)
> {
> + struct xfs_log_item *lip;
> + xfs_lsn_t tail_lsn = 0;
>
> + spin_lock(&ailp->ail_lock);
> + list_for_each_entry(lip, list, li_bio_list) {
> + struct xfs_inode_log_item *iip = INODE_ITEM(lip);
> + xfs_lsn_t lsn;
>
> + if (iip->ili_flush_lsn != lip->li_lsn) {
> + xfs_clear_li_failed(lip);
> continue;
> }
>
> + lsn = xfs_ail_delete_one(ailp, lip);
> + if (!tail_lsn && lsn)
> + tail_lsn = lsn;

iip is only used once, this could be shortened by using INODE_ITEM()
directly in the if expession:

if (INODE_ITEM(lip)->ili_flush_lsn != lip->li_lsn) {

> + list_for_each_entry_safe(lip, n, &bp->b_li_list, li_bio_list) {
> + struct xfs_inode_log_item *iip = INODE_ITEM(lip);
> + if (!iip->ili_last_fields)
> + continue;

Please add an empty line after the variable declaration.