diff options
author | David Chinner <david@fromorbit.com> | 2008-10-30 02:39:46 -0400 |
---|---|---|
committer | Lachlan McIlroy <lachlan@sgi.com> | 2008-10-30 02:39:46 -0400 |
commit | fc1829f34d30899701dfd5890030d39e13e1f47d (patch) | |
tree | c2532c6a1070396e39000f36a5728f0f0940b24d /fs/xfs/xfs_buf_item.c | |
parent | a9c21c1b9deaced836034e77fe25fe0b55c21f02 (diff) |
[XFS] Add ail pointer into log items
Add an xfs_ail pointer to log items so that the log items can reference
the AIL directly during callbacks without needed a struct xfs_mount.
SGI-PV: 988143
SGI-Modid: xfs-linux-melb:xfs-kern:32352a
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_buf_item.c')
-rw-r--r-- | fs/xfs/xfs_buf_item.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c index c557fd682527..793e53c01dc0 100644 --- a/fs/xfs/xfs_buf_item.c +++ b/fs/xfs/xfs_buf_item.c | |||
@@ -731,6 +731,7 @@ xfs_buf_item_init( | |||
731 | bip->bli_item.li_type = XFS_LI_BUF; | 731 | bip->bli_item.li_type = XFS_LI_BUF; |
732 | bip->bli_item.li_ops = &xfs_buf_item_ops; | 732 | bip->bli_item.li_ops = &xfs_buf_item_ops; |
733 | bip->bli_item.li_mountp = mp; | 733 | bip->bli_item.li_mountp = mp; |
734 | bip->bli_item.li_ailp = mp->m_ail; | ||
734 | bip->bli_buf = bp; | 735 | bip->bli_buf = bp; |
735 | xfs_buf_hold(bp); | 736 | xfs_buf_hold(bp); |
736 | bip->bli_format.blf_type = XFS_LI_BUF; | 737 | bip->bli_format.blf_type = XFS_LI_BUF; |
@@ -1123,11 +1124,13 @@ xfs_buf_iodone( | |||
1123 | xfs_buf_log_item_t *bip) | 1124 | xfs_buf_log_item_t *bip) |
1124 | { | 1125 | { |
1125 | struct xfs_mount *mp; | 1126 | struct xfs_mount *mp; |
1127 | struct xfs_ail *ailp; | ||
1126 | 1128 | ||
1127 | ASSERT(bip->bli_buf == bp); | 1129 | ASSERT(bip->bli_buf == bp); |
1128 | 1130 | ||
1129 | xfs_buf_rele(bp); | 1131 | xfs_buf_rele(bp); |
1130 | mp = bip->bli_item.li_mountp; | 1132 | mp = bip->bli_item.li_mountp; |
1133 | ailp = bip->bli_item.li_ailp; | ||
1131 | 1134 | ||
1132 | /* | 1135 | /* |
1133 | * If we are forcibly shutting down, this may well be | 1136 | * If we are forcibly shutting down, this may well be |
@@ -1138,7 +1141,7 @@ xfs_buf_iodone( | |||
1138 | * | 1141 | * |
1139 | * Either way, AIL is useless if we're forcing a shutdown. | 1142 | * Either way, AIL is useless if we're forcing a shutdown. |
1140 | */ | 1143 | */ |
1141 | spin_lock(&mp->m_ail->xa_lock); | 1144 | spin_lock(&ailp->xa_lock); |
1142 | /* | 1145 | /* |
1143 | * xfs_trans_delete_ail() drops the AIL lock. | 1146 | * xfs_trans_delete_ail() drops the AIL lock. |
1144 | */ | 1147 | */ |