[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>
This commit is contained in:
committed by
Lachlan McIlroy
parent
a7444053fb
commit
82fa901245
@ -56,13 +56,20 @@ struct xfs_log_item *xfs_trans_first_ail(struct xfs_mount *, int *);
|
||||
struct xfs_log_item *xfs_trans_next_ail(struct xfs_mount *,
|
||||
struct xfs_log_item *, int *, int *);
|
||||
|
||||
|
||||
/*
|
||||
* AIL push thread support
|
||||
*/
|
||||
long xfsaild_push(struct xfs_mount *, xfs_lsn_t *);
|
||||
void xfsaild_wakeup(struct xfs_mount *, xfs_lsn_t);
|
||||
int xfsaild_start(struct xfs_mount *);
|
||||
void xfsaild_stop(struct xfs_mount *);
|
||||
struct xfs_ail {
|
||||
struct xfs_mount *xa_mount;
|
||||
struct list_head xa_ail;
|
||||
uint xa_gen;
|
||||
struct task_struct *xa_task;
|
||||
xfs_lsn_t xa_target;
|
||||
};
|
||||
|
||||
long xfsaild_push(struct xfs_ail *, xfs_lsn_t *);
|
||||
void xfsaild_wakeup(struct xfs_ail *, xfs_lsn_t);
|
||||
int xfsaild_start(struct xfs_ail *);
|
||||
void xfsaild_stop(struct xfs_ail *);
|
||||
|
||||
#endif /* __XFS_TRANS_PRIV_H__ */
|
||||
|
Reference in New Issue
Block a user