xfs: add size update tracepoint to IO completion
[pandora-kernel.git] / fs / xfs / xfs_trans_priv.h
index 6b164e9..212946b 100644 (file)
@@ -53,7 +53,7 @@ void  xfs_trans_committed_bulk(struct xfs_ail *ailp, struct xfs_log_vec *lv,
  * of the list to trigger traversal restarts.
  */
 struct xfs_ail_cursor {
-       struct xfs_ail_cursor   *next;
+       struct list_head        list;
        struct xfs_log_item     *item;
 };
 
@@ -66,7 +66,7 @@ struct xfs_ail {
        struct xfs_mount        *xa_mount;
        struct list_head        xa_ail;
        xfs_lsn_t               xa_target;
-       struct xfs_ail_cursor   xa_cursors;
+       struct list_head        xa_cursors;
        spinlock_t              xa_lock;
        struct delayed_work     xa_work;
        xfs_lsn_t               xa_last_pushed_lsn;
@@ -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);