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_mount.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_mount.h')
-rw-r--r-- | fs/xfs/xfs_mount.h | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h index 67cf0b2bb848..287f90011ed5 100644 --- a/fs/xfs/xfs_mount.h +++ b/fs/xfs/xfs_mount.h | |||
@@ -63,6 +63,7 @@ struct xfs_extdelta; | |||
63 | struct xfs_swapext; | 63 | struct xfs_swapext; |
64 | struct xfs_mru_cache; | 64 | struct xfs_mru_cache; |
65 | struct xfs_nameops; | 65 | struct xfs_nameops; |
66 | struct xfs_ail; | ||
66 | 67 | ||
67 | /* | 68 | /* |
68 | * Prototypes and functions for the Data Migration subsystem. | 69 | * Prototypes and functions for the Data Migration subsystem. |
@@ -224,18 +225,11 @@ extern void xfs_icsb_sync_counters_locked(struct xfs_mount *, int); | |||
224 | #define xfs_icsb_sync_counters_locked(mp, flags) do { } while (0) | 225 | #define xfs_icsb_sync_counters_locked(mp, flags) do { } while (0) |
225 | #endif | 226 | #endif |
226 | 227 | ||
227 | typedef struct xfs_ail { | ||
228 | struct list_head xa_ail; | ||
229 | uint xa_gen; | ||
230 | struct task_struct *xa_task; | ||
231 | xfs_lsn_t xa_target; | ||
232 | } xfs_ail_t; | ||
233 | |||
234 | typedef struct xfs_mount { | 228 | typedef struct xfs_mount { |
235 | struct super_block *m_super; | 229 | struct super_block *m_super; |
236 | xfs_tid_t m_tid; /* next unused tid for fs */ | 230 | xfs_tid_t m_tid; /* next unused tid for fs */ |
237 | spinlock_t m_ail_lock; /* fs AIL mutex */ | 231 | spinlock_t m_ail_lock; /* fs AIL mutex */ |
238 | xfs_ail_t m_ail; /* fs active log item list */ | 232 | struct xfs_ail *m_ail; /* fs active log item list */ |
239 | xfs_sb_t m_sb; /* copy of fs superblock */ | 233 | xfs_sb_t m_sb; /* copy of fs superblock */ |
240 | spinlock_t m_sb_lock; /* sb counter lock */ | 234 | spinlock_t m_sb_lock; /* sb counter lock */ |
241 | struct xfs_buf *m_sb_bp; /* buffer for superblock */ | 235 | struct xfs_buf *m_sb_bp; /* buffer for superblock */ |