aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_trans.c
diff options
context:
space:
mode:
authorDavid Chinner <david@fromorbit.com>2008-10-30 02:39:46 -0400
committerLachlan McIlroy <lachlan@sgi.com>2008-10-30 02:39:46 -0400
commitfc1829f34d30899701dfd5890030d39e13e1f47d (patch)
treec2532c6a1070396e39000f36a5728f0f0940b24d /fs/xfs/xfs_trans.c
parenta9c21c1b9deaced836034e77fe25fe0b55c21f02 (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_trans.c')
-rw-r--r--fs/xfs/xfs_trans.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/xfs/xfs_trans.c b/fs/xfs/xfs_trans.c
index 99ba0e2658b7..5163e1216c8e 100644
--- a/fs/xfs/xfs_trans.c
+++ b/fs/xfs/xfs_trans.c
@@ -1383,11 +1383,13 @@ xfs_trans_chunk_committed(
1383 xfs_log_item_desc_t *lidp; 1383 xfs_log_item_desc_t *lidp;
1384 xfs_log_item_t *lip; 1384 xfs_log_item_t *lip;
1385 xfs_lsn_t item_lsn; 1385 xfs_lsn_t item_lsn;
1386 struct xfs_mount *mp;
1387 int i; 1386 int i;
1388 1387
1389 lidp = licp->lic_descs; 1388 lidp = licp->lic_descs;
1390 for (i = 0; i < licp->lic_unused; i++, lidp++) { 1389 for (i = 0; i < licp->lic_unused; i++, lidp++) {
1390 struct xfs_mount *mp;
1391 struct xfs_ail *ailp;
1392
1391 if (xfs_lic_isfree(licp, i)) { 1393 if (xfs_lic_isfree(licp, i)) {
1392 continue; 1394 continue;
1393 } 1395 }
@@ -1425,7 +1427,8 @@ xfs_trans_chunk_committed(
1425 * the test below. 1427 * the test below.
1426 */ 1428 */
1427 mp = lip->li_mountp; 1429 mp = lip->li_mountp;
1428 spin_lock(&mp->m_ail->xa_lock); 1430 ailp = lip->li_ailp;
1431 spin_lock(&ailp->xa_lock);
1429 if (XFS_LSN_CMP(item_lsn, lip->li_lsn) > 0) { 1432 if (XFS_LSN_CMP(item_lsn, lip->li_lsn) > 0) {
1430 /* 1433 /*
1431 * This will set the item's lsn to item_lsn 1434 * This will set the item's lsn to item_lsn
@@ -1436,7 +1439,7 @@ xfs_trans_chunk_committed(
1436 */ 1439 */
1437 xfs_trans_update_ail(mp, lip, item_lsn); 1440 xfs_trans_update_ail(mp, lip, item_lsn);
1438 } else { 1441 } else {
1439 spin_unlock(&mp->m_ail->xa_lock); 1442 spin_unlock(&ailp->xa_lock);
1440 } 1443 }
1441 1444
1442 /* 1445 /*