xfs: use a cursor for bulk AIL insertion
[firefly-linux-kernel-4.4.55.git] / fs / xfs / xfs_trans_priv.h
index 6b164e9e9a1f50499be0a216d36706193b97d646..c0cb408903291498f0b8c91e784cc5db3dc3cb10 100644 (file)
@@ -82,6 +82,7 @@ struct xfs_ail {
 extern struct workqueue_struct *xfs_ail_wq;    /* AIL workqueue */
 
 void   xfs_trans_ail_update_bulk(struct xfs_ail *ailp,
+                               struct xfs_ail_cursor *cur,
                                struct xfs_log_item **log_items, int nr_items,
                                xfs_lsn_t lsn) __releases(ailp->xa_lock);
 static inline void
@@ -90,7 +91,7 @@ xfs_trans_ail_update(
        struct xfs_log_item     *lip,
        xfs_lsn_t               lsn) __releases(ailp->xa_lock)
 {
-       xfs_trans_ail_update_bulk(ailp, &lip, 1, lsn);
+       xfs_trans_ail_update_bulk(ailp, NULL, &lip, 1, lsn);
 }
 
 void   xfs_trans_ail_delete_bulk(struct xfs_ail *ailp,
@@ -111,10 +112,13 @@ xfs_lsn_t         xfs_ail_min_lsn(struct xfs_ail *ailp);
 void                   xfs_trans_unlocked_item(struct xfs_ail *,
                                        xfs_log_item_t *);
 
-struct xfs_log_item    *xfs_trans_ail_cursor_first(struct xfs_ail *ailp,
+struct xfs_log_item *  xfs_trans_ail_cursor_first(struct xfs_ail *ailp,
                                        struct xfs_ail_cursor *cur,
                                        xfs_lsn_t lsn);
-struct xfs_log_item    *xfs_trans_ail_cursor_next(struct xfs_ail *ailp,
+struct xfs_log_item *  xfs_trans_ail_cursor_last(struct xfs_ail *ailp,
+                                       struct xfs_ail_cursor *cur,
+                                       xfs_lsn_t lsn);
+struct xfs_log_item *  xfs_trans_ail_cursor_next(struct xfs_ail *ailp,
                                        struct xfs_ail_cursor *cur);
 void                   xfs_trans_ail_cursor_done(struct xfs_ail *ailp,
                                        struct xfs_ail_cursor *cur);