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