diff --git a/fs/xfs/xfs_icache.c b/fs/xfs/xfs_icache.c index a60db43..749689c 100644 --- a/fs/xfs/xfs_icache.c +++ b/fs/xfs/xfs_icache.c @@ -818,14 +818,15 @@ xfs_inode_set_reclaim_tag( STATIC void __xfs_inode_clear_reclaim( xfs_perag_t *pag, - xfs_inode_t *ip) + xfs_inode_t *ip, + xfs_ino_t ino) { pag->pag_ici_reclaimable--; if (!pag->pag_ici_reclaimable) { /* clear the reclaim tag from the perag radix tree */ spin_lock(&ip->i_mount->m_perag_lock); radix_tree_tag_clear(&ip->i_mount->m_perag_tree, - XFS_INO_TO_AGNO(ip->i_mount, ip->i_ino), + XFS_INO_TO_AGNO(ip->i_mount, ino), XFS_ICI_RECLAIM_TAG); spin_unlock(&ip->i_mount->m_perag_lock); trace_xfs_perag_clear_reclaim(ip->i_mount, pag->pag_agno, @@ -841,7 +842,7 @@ __xfs_inode_clear_reclaim_tag( { radix_tree_tag_clear(&pag->pag_ici_root, XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG); - __xfs_inode_clear_reclaim(pag, ip); + __xfs_inode_clear_reclaim(pag, ip, ip->i_ino); } /* @@ -1032,7 +1033,7 @@ reclaim: if (!radix_tree_delete(&pag->pag_ici_root, XFS_INO_TO_AGINO(ip->i_mount, ino))) ASSERT(0); - __xfs_inode_clear_reclaim(pag, ip); + __xfs_inode_clear_reclaim(pag, ip, ino); spin_unlock(&pag->pag_ici_lock); /*