diff options
author | David Chinner <david@fromorbit.com> | 2008-10-30 02:39:58 -0400 |
---|---|---|
committer | Lachlan McIlroy <lachlan@sgi.com> | 2008-10-30 02:39:58 -0400 |
commit | 783a2f656f9674c31d4019708a94af93fa1d1c22 (patch) | |
tree | 7ac2123b187c0522dbd8a0d94de3856b33147c46 /fs/xfs/xfs_inode.c | |
parent | fc1829f34d30899701dfd5890030d39e13e1f47d (diff) |
[XFS] Finish removing the mount pointer from the AIL API
Change all the remaining AIL API functions that are passed struct
xfs_mount pointers to pass pointers directly to the struct xfs_ail being
used. With this conversion, all external access to the AIL is via the
struct xfs_ail. Hence the operation and referencing of the AIL is almost
entirely independent of the xfs_mount that is using it - it is now much
more tightly tied to the log and the items it is tracking in the log than
it is tied to the xfs_mount.
SGI-PV: 988143
SGI-Modid: xfs-linux-melb:xfs-kern:32353a
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_inode.c')
-rw-r--r-- | fs/xfs/xfs_inode.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 6d82c23629e1..c83f6998f95e 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c | |||
@@ -2709,17 +2709,17 @@ xfs_idestroy( | |||
2709 | * inode still in the AIL. If it is there, we should remove | 2709 | * inode still in the AIL. If it is there, we should remove |
2710 | * it to prevent a use-after-free from occurring. | 2710 | * it to prevent a use-after-free from occurring. |
2711 | */ | 2711 | */ |
2712 | xfs_mount_t *mp = ip->i_mount; | ||
2713 | xfs_log_item_t *lip = &ip->i_itemp->ili_item; | 2712 | xfs_log_item_t *lip = &ip->i_itemp->ili_item; |
2713 | struct xfs_ail *ailp = lip->li_ailp; | ||
2714 | 2714 | ||
2715 | ASSERT(((lip->li_flags & XFS_LI_IN_AIL) == 0) || | 2715 | ASSERT(((lip->li_flags & XFS_LI_IN_AIL) == 0) || |
2716 | XFS_FORCED_SHUTDOWN(ip->i_mount)); | 2716 | XFS_FORCED_SHUTDOWN(ip->i_mount)); |
2717 | if (lip->li_flags & XFS_LI_IN_AIL) { | 2717 | if (lip->li_flags & XFS_LI_IN_AIL) { |
2718 | spin_lock(&mp->m_ail->xa_lock); | 2718 | spin_lock(&ailp->xa_lock); |
2719 | if (lip->li_flags & XFS_LI_IN_AIL) | 2719 | if (lip->li_flags & XFS_LI_IN_AIL) |
2720 | xfs_trans_delete_ail(mp, lip); | 2720 | xfs_trans_ail_delete(ailp, lip); |
2721 | else | 2721 | else |
2722 | spin_unlock(&mp->m_ail->xa_lock); | 2722 | spin_unlock(&ailp->xa_lock); |
2723 | } | 2723 | } |
2724 | xfs_inode_item_destroy(ip); | 2724 | xfs_inode_item_destroy(ip); |
2725 | ip->i_itemp = NULL; | 2725 | ip->i_itemp = NULL; |