/linux-4.4.14/fs/xfs/ |
D | xfs_extent_busy.c | 44 struct xfs_perag *pag; in xfs_extent_busy_insert() local 69 pag = xfs_perag_get(tp->t_mountp, new->agno); in xfs_extent_busy_insert() 70 spin_lock(&pag->pagb_lock); in xfs_extent_busy_insert() 71 rbp = &pag->pagb_tree.rb_node; in xfs_extent_busy_insert() 88 rb_insert_color(&new->rb_node, &pag->pagb_tree); in xfs_extent_busy_insert() 91 spin_unlock(&pag->pagb_lock); in xfs_extent_busy_insert() 92 xfs_perag_put(pag); in xfs_extent_busy_insert() 111 struct xfs_perag *pag; in xfs_extent_busy_search() local 116 pag = xfs_perag_get(mp, agno); in xfs_extent_busy_search() 117 spin_lock(&pag->pagb_lock); in xfs_extent_busy_search() [all …]
|
D | xfs_icache.c | 41 struct xfs_perag *pag, struct xfs_inode *ip); 142 struct xfs_perag *pag, in xfs_iget_cache_hit() argument 226 spin_lock(&pag->pag_ici_lock); in xfs_iget_cache_hit() 236 __xfs_inode_clear_reclaim_tag(mp, pag, ip); in xfs_iget_cache_hit() 243 spin_unlock(&pag->pag_ici_lock); in xfs_iget_cache_hit() 276 struct xfs_perag *pag, in xfs_iget_cache_miss() argument 341 spin_lock(&pag->pag_ici_lock); in xfs_iget_cache_miss() 342 error = radix_tree_insert(&pag->pag_ici_root, agino, ip); in xfs_iget_cache_miss() 349 spin_unlock(&pag->pag_ici_lock); in xfs_iget_cache_miss() 356 spin_unlock(&pag->pag_ici_lock); in xfs_iget_cache_miss() [all …]
|
D | xfs_filestream.c | 86 struct xfs_perag *pag; in xfs_filestream_peek_ag() local 89 pag = xfs_perag_get(mp, agno); in xfs_filestream_peek_ag() 90 ret = atomic_read(&pag->pagf_fstrms); in xfs_filestream_peek_ag() 91 xfs_perag_put(pag); in xfs_filestream_peek_ag() 100 struct xfs_perag *pag; in xfs_filestream_get_ag() local 103 pag = xfs_perag_get(mp, agno); in xfs_filestream_get_ag() 104 ret = atomic_inc_return(&pag->pagf_fstrms); in xfs_filestream_get_ag() 105 xfs_perag_put(pag); in xfs_filestream_get_ag() 114 struct xfs_perag *pag; in xfs_filestream_put_ag() local 116 pag = xfs_perag_get(mp, agno); in xfs_filestream_put_ag() [all …]
|
D | xfs_mount.c | 135 struct xfs_perag *pag = container_of(head, struct xfs_perag, rcu_head); in __xfs_free_perag() local 137 ASSERT(atomic_read(&pag->pag_ref) == 0); in __xfs_free_perag() 138 kmem_free(pag); in __xfs_free_perag() 149 struct xfs_perag *pag; in xfs_free_perag() local 153 pag = radix_tree_delete(&mp->m_perag_tree, agno); in xfs_free_perag() 155 ASSERT(pag); in xfs_free_perag() 156 ASSERT(atomic_read(&pag->pag_ref) == 0); in xfs_free_perag() 157 call_rcu(&pag->rcu_head, __xfs_free_perag); in xfs_free_perag() 187 xfs_perag_t *pag; in xfs_initialize_perag() local 199 pag = xfs_perag_get(mp, index); in xfs_initialize_perag() [all …]
|
D | xfs_buf.c | 442 struct xfs_perag *pag; in _xfs_buf_find() local 477 pag = xfs_perag_get(btp->bt_mount, in _xfs_buf_find() 481 spin_lock(&pag->pag_buf_lock); in _xfs_buf_find() 482 rbp = &pag->pag_buf_tree.rb_node; in _xfs_buf_find() 515 rb_insert_color(&new_bp->b_rbnode, &pag->pag_buf_tree); in _xfs_buf_find() 517 new_bp->b_pag = pag; in _xfs_buf_find() 518 spin_unlock(&pag->pag_buf_lock); in _xfs_buf_find() 521 spin_unlock(&pag->pag_buf_lock); in _xfs_buf_find() 522 xfs_perag_put(pag); in _xfs_buf_find() 527 spin_unlock(&pag->pag_buf_lock); in _xfs_buf_find() [all …]
|
D | xfs_discard.c | 47 struct xfs_perag *pag; in xfs_trim_extents() local 51 pag = xfs_perag_get(mp, agno); in xfs_trim_extents() 141 xfs_perag_put(pag); in xfs_trim_extents()
|
D | xfs_super.c | 588 xfs_perag_t *pag; in xfs_set_inode32() local 611 pag = xfs_perag_get(mp, index); in xfs_set_inode32() 612 pag->pagi_inodeok = 0; in xfs_set_inode32() 613 pag->pagf_metadata = 0; in xfs_set_inode32() 614 xfs_perag_put(pag); in xfs_set_inode32() 618 pag = xfs_perag_get(mp, index); in xfs_set_inode32() 619 pag->pagi_inodeok = 1; in xfs_set_inode32() 622 pag->pagf_metadata = 1; in xfs_set_inode32() 623 xfs_perag_put(pag); in xfs_set_inode32() 637 struct xfs_perag *pag; in xfs_set_inode64() local [all …]
|
D | xfs_inode.c | 2226 struct xfs_perag *pag; in xfs_ifree_cluster() local 2230 pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, inum)); in xfs_ifree_cluster() 2311 ip = radix_tree_lookup(&pag->pag_ici_root, in xfs_ifree_cluster() 2384 xfs_perag_put(pag); in xfs_ifree_cluster() 3184 struct xfs_perag *pag; in xfs_iflush_cluster() local 3195 pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, ip->i_ino)); in xfs_iflush_cluster() 3207 nr_found = radix_tree_gang_lookup(&pag->pag_ici_root, (void**)ilist, in xfs_iflush_cluster() 3284 xfs_perag_put(pag); in xfs_iflush_cluster() 3327 xfs_perag_put(pag); in xfs_iflush_cluster()
|
/linux-4.4.14/fs/xfs/libxfs/ |
D | xfs_ialloc.c | 610 struct xfs_perag *pag; in xfs_ialloc_ag_alloc() local 870 pag = xfs_perag_get(args.mp, agno); in xfs_ialloc_ag_alloc() 871 pag->pagi_freecount += newlen; in xfs_ialloc_ag_alloc() 872 xfs_perag_put(pag); in xfs_ialloc_ag_alloc() 922 xfs_perag_t *pag; /* per allocation group data */ in xfs_ialloc_ag_select() local 953 pag = xfs_perag_get(mp, agno); in xfs_ialloc_ag_select() 954 if (!pag->pagi_inodeok) { in xfs_ialloc_ag_select() 959 if (!pag->pagi_init) { in xfs_ialloc_ag_select() 965 if (pag->pagi_freecount) { in xfs_ialloc_ag_select() 966 xfs_perag_put(pag); in xfs_ialloc_ag_select() [all …]
|
D | xfs_alloc_btree.c | 55 struct xfs_perag *pag = xfs_perag_get(cur->bc_mp, seqno); in xfs_allocbt_set_root() local 61 pag->pagf_levels[btnum] += inc; in xfs_allocbt_set_root() 62 xfs_perag_put(pag); in xfs_allocbt_set_root() 139 struct xfs_perag *pag; in xfs_allocbt_update_lastrec() local 183 pag = xfs_perag_get(cur->bc_mp, seqno); in xfs_allocbt_update_lastrec() 184 pag->pagf_longest = be32_to_cpu(len); in xfs_allocbt_update_lastrec() 185 xfs_perag_put(pag); in xfs_allocbt_update_lastrec() 278 struct xfs_perag *pag = bp->b_pag; in xfs_allocbt_verify() local 302 if (pag && in xfs_allocbt_verify() 303 be32_to_cpu(block->bb_u.s.bb_owner) != pag->pag_agno) in xfs_allocbt_verify() [all …]
|
D | xfs_alloc.c | 571 struct xfs_perag *pag, in xfs_alloc_update_counters() argument 577 pag->pagf_freeblks += len; in xfs_alloc_update_counters() 640 error = xfs_alloc_update_counters(args->tp, args->pag, in xfs_alloc_ag_vextent() 1602 xfs_perag_t *pag; /* per allocation group data */ in xfs_free_ag_extent() local 1806 pag = xfs_perag_get(mp, agno); in xfs_free_ag_extent() 1807 error = xfs_alloc_update_counters(tp, pag, agbp, len); in xfs_free_ag_extent() 1808 xfs_perag_put(pag); in xfs_free_ag_extent() 1863 struct xfs_perag *pag, in xfs_alloc_longest_free_extent() argument 1868 if (need > pag->pagf_flcount) in xfs_alloc_longest_free_extent() 1869 delta = need - pag->pagf_flcount; in xfs_alloc_longest_free_extent() [all …]
|
D | xfs_sb.c | 54 struct xfs_perag *pag; in xfs_perag_get() local 58 pag = radix_tree_lookup(&mp->m_perag_tree, agno); in xfs_perag_get() 59 if (pag) { in xfs_perag_get() 60 ASSERT(atomic_read(&pag->pag_ref) >= 0); in xfs_perag_get() 61 ref = atomic_inc_return(&pag->pag_ref); in xfs_perag_get() 65 return pag; in xfs_perag_get() 77 struct xfs_perag *pag; in xfs_perag_get_tag() local 83 (void **)&pag, first, 1, tag); in xfs_perag_get_tag() 88 ref = atomic_inc_return(&pag->pag_ref); in xfs_perag_get_tag() 90 trace_xfs_perag_get_tag(mp, pag->pag_agno, ref, _RET_IP_); in xfs_perag_get_tag() [all …]
|
D | xfs_alloc.h | 103 struct xfs_perag *pag; /* per-ag struct for this agno */ member 136 struct xfs_perag *pag, xfs_extlen_t need); 138 struct xfs_perag *pag);
|
D | xfs_sb.h | 27 extern void xfs_perag_put(struct xfs_perag *pag);
|
D | xfs_ialloc_btree.c | 224 struct xfs_perag *pag = bp->b_pag; in xfs_inobt_verify() local 246 if (pag && in xfs_inobt_verify() 247 be32_to_cpu(block->bb_u.s.bb_owner) != pag->pag_agno) in xfs_inobt_verify()
|
D | xfs_bmap.c | 3507 struct xfs_perag *pag; in xfs_bmap_longest_free_extent() local 3511 pag = xfs_perag_get(mp, ag); in xfs_bmap_longest_free_extent() 3512 if (!pag->pagf_init) { in xfs_bmap_longest_free_extent() 3517 if (!pag->pagf_init) { in xfs_bmap_longest_free_extent() 3523 longest = xfs_alloc_longest_free_extent(mp, pag, in xfs_bmap_longest_free_extent() 3524 xfs_alloc_min_freelist(mp, pag)); in xfs_bmap_longest_free_extent() 3529 xfs_perag_put(pag); in xfs_bmap_longest_free_extent()
|