diff options
author | David Chinner <david@fromorbit.com> | 2008-10-30 02:38:26 -0400 |
---|---|---|
committer | Lachlan McIlroy <lachlan@sgi.com> | 2008-10-30 02:38:26 -0400 |
commit | 82fa9012458d867936d7bf130e6e14bdebc6873c (patch) | |
tree | e2d8d7aa9a30c55b7d314df7406f1c47832340d7 /fs/xfs/xfs_trans_priv.h | |
parent | a7444053fb3ebd3d905e3c7a7bd5ea80a54b083a (diff) |
[XFS] Allocate the struct xfs_ail
Rather than embedding the struct xfs_ail in the struct xfs_mount, allocate
it during AIL initialisation. Add a back pointer to the struct xfs_ail so
that we can pass around the xfs_ail and still be able to access the
xfs_mount if need be. This is th first step involved in isolating the AIL
implementation from the surrounding filesystem code.
SGI-PV: 988143
SGI-Modid: xfs-linux-melb:xfs-kern:32346a
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 | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/fs/xfs/xfs_trans_priv.h b/fs/xfs/xfs_trans_priv.h index 3c748c456ed4..98317fdc33b5 100644 --- a/fs/xfs/xfs_trans_priv.h +++ b/fs/xfs/xfs_trans_priv.h | |||
@@ -56,13 +56,20 @@ struct xfs_log_item *xfs_trans_first_ail(struct xfs_mount *, int *); | |||
56 | struct xfs_log_item *xfs_trans_next_ail(struct xfs_mount *, | 56 | struct xfs_log_item *xfs_trans_next_ail(struct xfs_mount *, |
57 | struct xfs_log_item *, int *, int *); | 57 | struct xfs_log_item *, int *, int *); |
58 | 58 | ||
59 | |||
60 | /* | 59 | /* |
61 | * AIL push thread support | 60 | * AIL push thread support |
62 | */ | 61 | */ |
63 | long xfsaild_push(struct xfs_mount *, xfs_lsn_t *); | 62 | struct xfs_ail { |
64 | void xfsaild_wakeup(struct xfs_mount *, xfs_lsn_t); | 63 | struct xfs_mount *xa_mount; |
65 | int xfsaild_start(struct xfs_mount *); | 64 | struct list_head xa_ail; |
66 | void xfsaild_stop(struct xfs_mount *); | 65 | uint xa_gen; |
66 | struct task_struct *xa_task; | ||
67 | xfs_lsn_t xa_target; | ||
68 | }; | ||
69 | |||
70 | long xfsaild_push(struct xfs_ail *, xfs_lsn_t *); | ||
71 | void xfsaild_wakeup(struct xfs_ail *, xfs_lsn_t); | ||
72 | int xfsaild_start(struct xfs_ail *); | ||
73 | void xfsaild_stop(struct xfs_ail *); | ||
67 | 74 | ||
68 | #endif /* __XFS_TRANS_PRIV_H__ */ | 75 | #endif /* __XFS_TRANS_PRIV_H__ */ |