xfs: get rid of log item callbacks
authorDave Chinner <dchinner@redhat.com>
Mon, 29 Jun 2020 21:49:14 +0000 (14:49 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Tue, 7 Jul 2020 14:15:07 +0000 (07:15 -0700)
They are not used anymore, so remove them from the log item and the
buffer iodone attachment interfaces.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/xfs_buf_item.c
fs/xfs/xfs_buf_item.h
fs/xfs/xfs_dquot.c
fs/xfs/xfs_inode.c
fs/xfs/xfs_trans.h

index 0ece5de..09bfe9c 100644 (file)
@@ -955,23 +955,6 @@ xfs_buf_item_relse(
        xfs_buf_item_free(bip);
 }
 
-
-/*
- * Add the given log item with its callback to the list of callbacks
- * to be called when the buffer's I/O completes.
- */
-void
-xfs_buf_attach_iodone(
-       struct xfs_buf          *bp,
-       void                    (*cb)(struct xfs_buf *, struct xfs_log_item *),
-       struct xfs_log_item     *lip)
-{
-       ASSERT(xfs_buf_islocked(bp));
-
-       lip->li_cb = cb;
-       list_add_tail(&lip->li_bio_list, &bp->b_li_list);
-}
-
 /*
  * Invoke the error state callback for each log item affected by the failed I/O.
  *
index 7c0bd2a..23507cb 100644 (file)
@@ -54,9 +54,6 @@ void  xfs_buf_item_relse(struct xfs_buf *);
 bool   xfs_buf_item_put(struct xfs_buf_log_item *);
 void   xfs_buf_item_log(struct xfs_buf_log_item *, uint, uint);
 bool   xfs_buf_item_dirty_format(struct xfs_buf_log_item *);
-void   xfs_buf_attach_iodone(struct xfs_buf *,
-                             void(*)(struct xfs_buf *, struct xfs_log_item *),
-                             struct xfs_log_item *);
 void   xfs_buf_inode_iodone(struct xfs_buf *);
 void   xfs_buf_dquot_iodone(struct xfs_buf *);
 void   xfs_buf_iodone(struct xfs_buf *);
index 403bc4e..d5984a9 100644 (file)
@@ -1187,11 +1187,11 @@ xfs_qm_dqflush(
        }
 
        /*
-        * Attach an iodone routine so that we can remove this dquot from the
-        * AIL and release the flush lock once the dquot is synced to disk.
+        * Attach the dquot to the buffer so that we can remove this dquot from
+        * the AIL and release the flush lock once the dquot is synced to disk.
         */
        bp->b_flags |= _XBF_DQUOTS;
-       xfs_buf_attach_iodone(bp, NULL, &dqp->q_logitem.qli_item);
+       list_add_tail(&dqp->q_logitem.qli_item.li_bio_list, &bp->b_li_list);
 
        /*
         * If the buffer is pinned then push on the log so we won't
index 721b842..77cc9cb 100644 (file)
@@ -2711,7 +2711,8 @@ xfs_ifree_cluster(
                        xfs_trans_ail_copy_lsn(mp->m_ail, &iip->ili_flush_lsn,
                                                &iip->ili_item.li_lsn);
 
-                       xfs_buf_attach_iodone(bp, NULL, &iip->ili_item);
+                       list_add_tail(&iip->ili_item.li_bio_list,
+                                               &bp->b_li_list);
 
                        if (ip != free_ip)
                                xfs_iunlock(ip, XFS_ILOCK_EXCL);
@@ -3861,7 +3862,7 @@ flush_out:
         * the flush lock.
         */
        bp->b_flags |= _XBF_INODES;
-       xfs_buf_attach_iodone(bp, NULL, &iip->ili_item);
+       list_add_tail(&iip->ili_item.li_bio_list, &bp->b_li_list);
 
        /* generate the checksum. */
        xfs_dinode_calc_crc(mp, dip);
index 8308bf6..99a9ab9 100644 (file)
@@ -37,10 +37,6 @@ struct xfs_log_item {
        unsigned long                   li_flags;       /* misc flags */
        struct xfs_buf                  *li_buf;        /* real buffer pointer */
        struct list_head                li_bio_list;    /* buffer item list */
-       void                            (*li_cb)(struct xfs_buf *,
-                                                struct xfs_log_item *);
-                                                       /* buffer item iodone */
-                                                       /* callback func */
        const struct xfs_item_ops       *li_ops;        /* function list */
 
        /* delayed logging */