diff options
author | Dave Chinner <dchinner@redhat.com> | 2011-07-18 03:40:18 +0000 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2011-07-20 18:37:46 -0500 |
commit | af3e40228fb2dbc18d94fbd5103f07344a720ae7 (patch) | |
tree | e33bac82ebcf5fccf7f3d25cb8dc9b764736fc06 /fs/xfs/xfs_trans_priv.h | |
parent | 16b5902943c793e632cf8c9526619f59893bdc29 (diff) | |
download | lwn-af3e40228fb2dbc18d94fbd5103f07344a720ae7.tar.gz lwn-af3e40228fb2dbc18d94fbd5103f07344a720ae7.zip |
xfs: convert AIL cursors to use struct list_head
The list of active AIL cursors uses a roll-your-own linked list with
special casing for the AIL push cursor. Simplify this code by
replacing the list with standard struct list_head lists, and use a
separate list_head to track the active cursors. This allows us to
treat the AIL push cursor as a generic cursor rather than as a
special case, further simplifying the code.
Further, fix the duplicate push cursor initialisation that the
special case handling was hiding, and clean up all the comments
around the active cursor list handling.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_trans_priv.h')
-rw-r--r-- | fs/xfs/xfs_trans_priv.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/xfs/xfs_trans_priv.h b/fs/xfs/xfs_trans_priv.h index c0cb40890329..212946b97239 100644 --- a/fs/xfs/xfs_trans_priv.h +++ b/fs/xfs/xfs_trans_priv.h @@ -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; |