aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_trans_priv.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_trans_priv.h')
-rw-r--r--fs/xfs/xfs_trans_priv.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/fs/xfs/xfs_trans_priv.h b/fs/xfs/xfs_trans_priv.h
index 8ab2ced415f..fb62377d1cb 100644
--- a/fs/xfs/xfs_trans_priv.h
+++ b/fs/xfs/xfs_trans_priv.h
@@ -71,6 +71,8 @@ struct xfs_ail {
71 spinlock_t xa_lock; 71 spinlock_t xa_lock;
72 xfs_lsn_t xa_last_pushed_lsn; 72 xfs_lsn_t xa_last_pushed_lsn;
73 int xa_log_flush; 73 int xa_log_flush;
74 struct list_head xa_buf_list;
75 wait_queue_head_t xa_empty;
74}; 76};
75 77
76/* 78/*
@@ -90,18 +92,22 @@ xfs_trans_ail_update(
90} 92}
91 93
92void xfs_trans_ail_delete_bulk(struct xfs_ail *ailp, 94void xfs_trans_ail_delete_bulk(struct xfs_ail *ailp,
93 struct xfs_log_item **log_items, int nr_items) 95 struct xfs_log_item **log_items, int nr_items,
96 int shutdown_type)
94 __releases(ailp->xa_lock); 97 __releases(ailp->xa_lock);
95static inline void 98static inline void
96xfs_trans_ail_delete( 99xfs_trans_ail_delete(
97 struct xfs_ail *ailp, 100 struct xfs_ail *ailp,
98 xfs_log_item_t *lip) __releases(ailp->xa_lock) 101 xfs_log_item_t *lip,
102 int shutdown_type) __releases(ailp->xa_lock)
99{ 103{
100 xfs_trans_ail_delete_bulk(ailp, &lip, 1); 104 xfs_trans_ail_delete_bulk(ailp, &lip, 1, shutdown_type);
101} 105}
102 106
103void xfs_ail_push(struct xfs_ail *, xfs_lsn_t); 107void xfs_ail_push(struct xfs_ail *, xfs_lsn_t);
104void xfs_ail_push_all(struct xfs_ail *); 108void xfs_ail_push_all(struct xfs_ail *);
109void xfs_ail_push_all_sync(struct xfs_ail *);
110struct xfs_log_item *xfs_ail_min(struct xfs_ail *ailp);
105xfs_lsn_t xfs_ail_min_lsn(struct xfs_ail *ailp); 111xfs_lsn_t xfs_ail_min_lsn(struct xfs_ail *ailp);
106 112
107struct xfs_log_item * xfs_trans_ail_cursor_first(struct xfs_ail *ailp, 113struct xfs_log_item * xfs_trans_ail_cursor_first(struct xfs_ail *ailp,