aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_buf_item.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_buf_item.c')
-rw-r--r--fs/xfs/xfs_buf_item.c5
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 */