Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs

* 'for-linus' of git://oss.sgi.com/xfs/xfs:
xfs: properly account for reclaimed inodes

+14 -5
+14 -5
fs/xfs/linux-2.6/xfs_sync.c
··· 668 xfs_perag_put(pag); 669 } 670 671 - void 672 - __xfs_inode_clear_reclaim_tag( 673 - xfs_mount_t *mp, 674 xfs_perag_t *pag, 675 xfs_inode_t *ip) 676 { 677 - radix_tree_tag_clear(&pag->pag_ici_root, 678 - XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG); 679 pag->pag_ici_reclaimable--; 680 if (!pag->pag_ici_reclaimable) { 681 /* clear the reclaim tag from the perag radix tree */ ··· 684 trace_xfs_perag_clear_reclaim(ip->i_mount, pag->pag_agno, 685 -1, _RET_IP_); 686 } 687 } 688 689 /* ··· 846 if (!radix_tree_delete(&pag->pag_ici_root, 847 XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino))) 848 ASSERT(0); 849 write_unlock(&pag->pag_ici_lock); 850 851 /*
··· 668 xfs_perag_put(pag); 669 } 670 671 + STATIC void 672 + __xfs_inode_clear_reclaim( 673 xfs_perag_t *pag, 674 xfs_inode_t *ip) 675 { 676 pag->pag_ici_reclaimable--; 677 if (!pag->pag_ici_reclaimable) { 678 /* clear the reclaim tag from the perag radix tree */ ··· 687 trace_xfs_perag_clear_reclaim(ip->i_mount, pag->pag_agno, 688 -1, _RET_IP_); 689 } 690 + } 691 + 692 + void 693 + __xfs_inode_clear_reclaim_tag( 694 + xfs_mount_t *mp, 695 + xfs_perag_t *pag, 696 + xfs_inode_t *ip) 697 + { 698 + radix_tree_tag_clear(&pag->pag_ici_root, 699 + XFS_INO_TO_AGINO(mp, ip->i_ino), XFS_ICI_RECLAIM_TAG); 700 + __xfs_inode_clear_reclaim(pag, ip); 701 } 702 703 /* ··· 838 if (!radix_tree_delete(&pag->pag_ici_root, 839 XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino))) 840 ASSERT(0); 841 + __xfs_inode_clear_reclaim(pag, ip); 842 write_unlock(&pag->pag_ici_lock); 843 844 /*