diff options
author | David Chinner <david@fromorbit.com> | 2008-10-30 02:39:00 -0400 |
---|---|---|
committer | Lachlan McIlroy <lachlan@sgi.com> | 2008-10-30 02:39:00 -0400 |
commit | 5b00f14fbd60d42441f78c0e414a539cbfba5cb9 (patch) | |
tree | 6ecce1247c704666e2835883de73cb300c1b0693 /fs/xfs/xfs_trans_priv.h | |
parent | 27d8d5fe0ef9daeaafbdd32b14b32a2211930062 (diff) |
[XFS] move the AIl traversal over to a consistent interface
With the new cursor interface, it makes sense to make all the traversing
code use the cursor interface and make the old one go away. This means
more of the AIL interfacing is done by passing struct xfs_ail pointers
around the place instead of struct xfs_mount pointers.
We can replace the use of xfs_trans_first_ail() in xfs_log_need_covered()
as it is only checking if the AIL is empty. We can do that with a call to
xfs_trans_ail_tail() instead, where a zero LSN returned indicates and
empty AIL...
SGI-PV: 988143
SGI-Modid: xfs-linux-melb:xfs-kern:32348a
Signed-off-by: David Chinner <david@fromorbit.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Diffstat (limited to 'fs/xfs/xfs_trans_priv.h')
-rw-r--r-- | fs/xfs/xfs_trans_priv.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/xfs/xfs_trans_priv.h b/fs/xfs/xfs_trans_priv.h index f114d388570a..aa5853502529 100644 --- a/fs/xfs/xfs_trans_priv.h +++ b/fs/xfs/xfs_trans_priv.h | |||
@@ -90,14 +90,15 @@ void xfs_trans_update_ail(struct xfs_mount *mp, | |||
90 | void xfs_trans_delete_ail(struct xfs_mount *mp, | 90 | void xfs_trans_delete_ail(struct xfs_mount *mp, |
91 | struct xfs_log_item *lip) | 91 | struct xfs_log_item *lip) |
92 | __releases(mp->m_ail_lock); | 92 | __releases(mp->m_ail_lock); |
93 | struct xfs_log_item *xfs_trans_first_ail(struct xfs_mount *mp, | ||
94 | struct xfs_ail_cursor *cur); | ||
95 | struct xfs_log_item *xfs_trans_next_ail(struct xfs_mount *mp, | ||
96 | struct xfs_ail_cursor *cur); | ||
97 | 93 | ||
98 | void xfs_trans_ail_cursor_init(struct xfs_ail *ailp, | 94 | xfs_lsn_t xfs_trans_ail_tail(struct xfs_ail *ailp); |
95 | |||
96 | struct xfs_log_item *xfs_trans_ail_cursor_first(struct xfs_ail *ailp, | ||
97 | struct xfs_ail_cursor *cur, | ||
98 | xfs_lsn_t lsn); | ||
99 | struct xfs_log_item *xfs_trans_ail_cursor_next(struct xfs_ail *ailp, | ||
99 | struct xfs_ail_cursor *cur); | 100 | struct xfs_ail_cursor *cur); |
100 | void xfs_trans_ail_cursor_done(struct xfs_ail *ailp, | 101 | void xfs_trans_ail_cursor_done(struct xfs_ail *ailp, |
101 | struct xfs_ail_cursor *cur); | 102 | struct xfs_ail_cursor *cur); |
102 | 103 | ||
103 | long xfsaild_push(struct xfs_ail *, xfs_lsn_t *); | 104 | long xfsaild_push(struct xfs_ail *, xfs_lsn_t *); |