• Home
  • Raw
  • Download

Lines Matching refs:pag

161 	struct xfs_perag	*pag)  in xfs_perag_set_reclaim_tag()  argument
163 struct xfs_mount *mp = pag->pag_mount; in xfs_perag_set_reclaim_tag()
165 lockdep_assert_held(&pag->pag_ici_lock); in xfs_perag_set_reclaim_tag()
166 if (pag->pag_ici_reclaimable++) in xfs_perag_set_reclaim_tag()
171 radix_tree_tag_set(&mp->m_perag_tree, pag->pag_agno, in xfs_perag_set_reclaim_tag()
178 trace_xfs_perag_set_reclaim(mp, pag->pag_agno, -1, _RET_IP_); in xfs_perag_set_reclaim_tag()
183 struct xfs_perag *pag) in xfs_perag_clear_reclaim_tag() argument
185 struct xfs_mount *mp = pag->pag_mount; in xfs_perag_clear_reclaim_tag()
187 lockdep_assert_held(&pag->pag_ici_lock); in xfs_perag_clear_reclaim_tag()
188 if (--pag->pag_ici_reclaimable) in xfs_perag_clear_reclaim_tag()
193 radix_tree_tag_clear(&mp->m_perag_tree, pag->pag_agno, in xfs_perag_clear_reclaim_tag()
196 trace_xfs_perag_clear_reclaim(mp, pag->pag_agno, -1, _RET_IP_); in xfs_perag_clear_reclaim_tag()
210 struct xfs_perag *pag; in xfs_inode_set_reclaim_tag() local
212 pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, ip->i_ino)); in xfs_inode_set_reclaim_tag()
213 spin_lock(&pag->pag_ici_lock); in xfs_inode_set_reclaim_tag()
216 radix_tree_tag_set(&pag->pag_ici_root, XFS_INO_TO_AGINO(mp, ip->i_ino), in xfs_inode_set_reclaim_tag()
218 xfs_perag_set_reclaim_tag(pag); in xfs_inode_set_reclaim_tag()
222 spin_unlock(&pag->pag_ici_lock); in xfs_inode_set_reclaim_tag()
223 xfs_perag_put(pag); in xfs_inode_set_reclaim_tag()
228 struct xfs_perag *pag, in xfs_inode_clear_reclaim_tag() argument
231 radix_tree_tag_clear(&pag->pag_ici_root, in xfs_inode_clear_reclaim_tag()
232 XFS_INO_TO_AGINO(pag->pag_mount, ino), in xfs_inode_clear_reclaim_tag()
234 xfs_perag_clear_reclaim_tag(pag); in xfs_inode_clear_reclaim_tag()
332 struct xfs_perag *pag, in xfs_iget_cache_hit() argument
425 spin_lock(&pag->pag_ici_lock); in xfs_iget_cache_hit()
435 xfs_inode_clear_reclaim_tag(pag, ip->i_ino); in xfs_iget_cache_hit()
441 spin_unlock(&pag->pag_ici_lock); in xfs_iget_cache_hit()
475 struct xfs_perag *pag, in xfs_iget_cache_miss() argument
573 spin_lock(&pag->pag_ici_lock); in xfs_iget_cache_miss()
574 error = radix_tree_insert(&pag->pag_ici_root, agino, ip); in xfs_iget_cache_miss()
581 spin_unlock(&pag->pag_ici_lock); in xfs_iget_cache_miss()
588 spin_unlock(&pag->pag_ici_lock); in xfs_iget_cache_miss()
620 struct xfs_perag *pag; in xfs_iget() local
633 pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, ino)); in xfs_iget()
639 ip = radix_tree_lookup(&pag->pag_ici_root, agino); in xfs_iget()
642 error = xfs_iget_cache_hit(pag, ip, ino, flags, lock_flags); in xfs_iget()
653 error = xfs_iget_cache_miss(mp, pag, tp, ino, &ip, in xfs_iget()
658 xfs_perag_put(pag); in xfs_iget()
675 xfs_perag_put(pag); in xfs_iget()
773 struct xfs_perag *pag, in xfs_inode_walk_ag() argument
779 struct xfs_mount *mp = pag->pag_mount; in xfs_inode_walk_ag()
799 nr_found = radix_tree_gang_lookup(&pag->pag_ici_root, in xfs_inode_walk_ag()
804 &pag->pag_ici_root, in xfs_inode_walk_ag()
835 if (XFS_INO_TO_AGNO(mp, ip->i_ino) != pag->pag_agno) in xfs_inode_walk_ag()
900 struct xfs_perag *pag; in xfs_inode_walk() local
906 while ((pag = xfs_inode_walk_get_perag(mp, ag, tag))) { in xfs_inode_walk()
907 ag = pag->pag_agno + 1; in xfs_inode_walk()
908 error = xfs_inode_walk_ag(pag, iter_flags, execute, args, tag); in xfs_inode_walk()
909 xfs_perag_put(pag); in xfs_inode_walk()
1032 struct xfs_perag *pag) in xfs_reclaim_inode() argument
1079 spin_lock(&pag->pag_ici_lock); in xfs_reclaim_inode()
1080 if (!radix_tree_delete(&pag->pag_ici_root, in xfs_reclaim_inode()
1083 xfs_perag_clear_reclaim_tag(pag); in xfs_reclaim_inode()
1084 spin_unlock(&pag->pag_ici_lock); in xfs_reclaim_inode()
1125 struct xfs_perag *pag; in xfs_reclaim_inodes_ag() local
1128 while ((pag = xfs_perag_get_tag(mp, ag, XFS_ICI_RECLAIM_TAG))) { in xfs_reclaim_inodes_ag()
1133 ag = pag->pag_agno + 1; in xfs_reclaim_inodes_ag()
1135 first_index = READ_ONCE(pag->pag_ici_reclaim_cursor); in xfs_reclaim_inodes_ag()
1142 &pag->pag_ici_root, in xfs_reclaim_inodes_ag()
1177 pag->pag_agno) in xfs_reclaim_inodes_ag()
1189 xfs_reclaim_inode(batch[i], pag); in xfs_reclaim_inodes_ag()
1198 WRITE_ONCE(pag->pag_ici_reclaim_cursor, first_index); in xfs_reclaim_inodes_ag()
1199 xfs_perag_put(pag); in xfs_reclaim_inodes_ag()
1243 struct xfs_perag *pag; in xfs_reclaim_inodes_count() local
1247 while ((pag = xfs_perag_get_tag(mp, ag, XFS_ICI_RECLAIM_TAG))) { in xfs_reclaim_inodes_count()
1248 ag = pag->pag_agno + 1; in xfs_reclaim_inodes_count()
1249 reclaimable += pag->pag_ici_reclaimable; in xfs_reclaim_inodes_count()
1250 xfs_perag_put(pag); in xfs_reclaim_inodes_count()
1477 struct xfs_perag *pag; in __xfs_inode_set_blocks_tag() local
1490 pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, ip->i_ino)); in __xfs_inode_set_blocks_tag()
1491 spin_lock(&pag->pag_ici_lock); in __xfs_inode_set_blocks_tag()
1493 tagged = radix_tree_tagged(&pag->pag_ici_root, tag); in __xfs_inode_set_blocks_tag()
1494 radix_tree_tag_set(&pag->pag_ici_root, in __xfs_inode_set_blocks_tag()
1507 set_tp(ip->i_mount, pag->pag_agno, -1, _RET_IP_); in __xfs_inode_set_blocks_tag()
1510 spin_unlock(&pag->pag_ici_lock); in __xfs_inode_set_blocks_tag()
1511 xfs_perag_put(pag); in __xfs_inode_set_blocks_tag()
1532 struct xfs_perag *pag; in __xfs_inode_clear_blocks_tag() local
1538 pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, ip->i_ino)); in __xfs_inode_clear_blocks_tag()
1539 spin_lock(&pag->pag_ici_lock); in __xfs_inode_clear_blocks_tag()
1541 radix_tree_tag_clear(&pag->pag_ici_root, in __xfs_inode_clear_blocks_tag()
1543 if (!radix_tree_tagged(&pag->pag_ici_root, tag)) { in __xfs_inode_clear_blocks_tag()
1550 clear_tp(ip->i_mount, pag->pag_agno, -1, _RET_IP_); in __xfs_inode_clear_blocks_tag()
1553 spin_unlock(&pag->pag_ici_lock); in __xfs_inode_clear_blocks_tag()
1554 xfs_perag_put(pag); in __xfs_inode_clear_blocks_tag()