aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_mount.h
diff options
context:
space:
mode:
authorDavid Chinner <david@fromorbit.com>2008-10-30 02:38:26 -0400
committerLachlan McIlroy <lachlan@sgi.com>2008-10-30 02:38:26 -0400
commit82fa9012458d867936d7bf130e6e14bdebc6873c (patch)
treee2d8d7aa9a30c55b7d314df7406f1c47832340d7 /fs/xfs/xfs_mount.h
parenta7444053fb3ebd3d905e3c7a7bd5ea80a54b083a (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.h10
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;
63struct xfs_swapext; 63struct xfs_swapext;
64struct xfs_mru_cache; 64struct xfs_mru_cache;
65struct xfs_nameops; 65struct xfs_nameops;
66struct 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
227typedef 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
234typedef struct xfs_mount { 228typedef 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 */