aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_buf_item.c
diff options
context:
space:
mode:
authorDonald Douwsma <donaldd@sgi.com>2007-10-11 03:36:05 -0400
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-02-07 00:44:23 -0500
commit287f3dad14828275d2517c8696ad118c82b9243f (patch)
tree4868d40f6c49984ff84f2957d84a3de160d46d7a /fs/xfs/xfs_buf_item.c
parent541d7d3c4b31e2b0ac846fe6d2eb5cdbe1353095 (diff)
[XFS] Unwrap AIL_LOCK
SGI-PV: 970382 SGI-Modid: xfs-linux-melb:xfs-kern:29739a Signed-off-by: Donald Douwsma <donaldd@sgi.com> Signed-off-by: Eric Sandeen <sandeen@sandeen.net> Signed-off-by: Tim Shimmin <tes@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_buf_item.c')
-rw-r--r--fs/xfs/xfs_buf_item.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c
index c8f2c2886fe4..63debd147eb5 100644
--- a/fs/xfs/xfs_buf_item.c
+++ b/fs/xfs/xfs_buf_item.c
@@ -378,7 +378,6 @@ xfs_buf_item_unpin(
378 xfs_mount_t *mp; 378 xfs_mount_t *mp;
379 xfs_buf_t *bp; 379 xfs_buf_t *bp;
380 int freed; 380 int freed;
381 SPLDECL(s);
382 381
383 bp = bip->bli_buf; 382 bp = bip->bli_buf;
384 ASSERT(bp != NULL); 383 ASSERT(bp != NULL);
@@ -409,8 +408,8 @@ xfs_buf_item_unpin(
409 XFS_BUF_SET_FSPRIVATE(bp, NULL); 408 XFS_BUF_SET_FSPRIVATE(bp, NULL);
410 XFS_BUF_CLR_IODONE_FUNC(bp); 409 XFS_BUF_CLR_IODONE_FUNC(bp);
411 } else { 410 } else {
412 AIL_LOCK(mp,s); 411 spin_lock(&mp->m_ail_lock);
413 xfs_trans_delete_ail(mp, (xfs_log_item_t *)bip, s); 412 xfs_trans_delete_ail(mp, (xfs_log_item_t *)bip);
414 xfs_buf_item_relse(bp); 413 xfs_buf_item_relse(bp);
415 ASSERT(XFS_BUF_FSPRIVATE(bp, void *) == NULL); 414 ASSERT(XFS_BUF_FSPRIVATE(bp, void *) == NULL);
416 } 415 }
@@ -1113,7 +1112,6 @@ xfs_buf_iodone(
1113 xfs_buf_log_item_t *bip) 1112 xfs_buf_log_item_t *bip)
1114{ 1113{
1115 struct xfs_mount *mp; 1114 struct xfs_mount *mp;
1116 SPLDECL(s);
1117 1115
1118 ASSERT(bip->bli_buf == bp); 1116 ASSERT(bip->bli_buf == bp);
1119 1117
@@ -1128,11 +1126,11 @@ xfs_buf_iodone(
1128 * 1126 *
1129 * Either way, AIL is useless if we're forcing a shutdown. 1127 * Either way, AIL is useless if we're forcing a shutdown.
1130 */ 1128 */
1131 AIL_LOCK(mp,s); 1129 spin_lock(&mp->m_ail_lock);
1132 /* 1130 /*
1133 * xfs_trans_delete_ail() drops the AIL lock. 1131 * xfs_trans_delete_ail() drops the AIL lock.
1134 */ 1132 */
1135 xfs_trans_delete_ail(mp, (xfs_log_item_t *)bip, s); 1133 xfs_trans_delete_ail(mp, (xfs_log_item_t *)bip);
1136 1134
1137#ifdef XFS_TRANS_DEBUG 1135#ifdef XFS_TRANS_DEBUG
1138 kmem_free(bip->bli_orig, XFS_BUF_COUNT(bp)); 1136 kmem_free(bip->bli_orig, XFS_BUF_COUNT(bp));