Lines Matching refs:pag

397 	ASSERT(args->pag->pagf_freeblks + args->pag->pagf_flcount >=  in xfs_alloc_fix_len()
676 struct xfs_perag *pag, in xfs_alloc_update_counters() argument
682 pag->pagf_freeblks += len; in xfs_alloc_update_counters()
855 error = xfs_alloc_update_counters(args->tp, args->pag, in xfs_alloc_ag_vextent()
865 xfs_ag_resv_alloc_extent(args->pag, args->resv, args); in xfs_alloc_ag_vextent()
1420 xfs_extent_busy_flush(args->mp, args->pag, busy_gen); in xfs_alloc_ag_vextent_near()
1569 args->pag, busy_gen); in xfs_alloc_ag_vextent_size()
1638 xfs_extent_busy_flush(args->mp, args->pag, busy_gen); in xfs_alloc_ag_vextent_size()
1696 struct xfs_perag *pag; in xfs_free_ag_extent() local
1919 pag = xfs_perag_get(mp, agno); in xfs_free_ag_extent()
1920 error = xfs_alloc_update_counters(tp, pag, agbp, len); in xfs_free_ag_extent()
1921 xfs_ag_resv_free_extent(pag, type, tp, len); in xfs_free_ag_extent()
1922 xfs_perag_put(pag); in xfs_free_ag_extent()
1966 struct xfs_perag *pag, in xfs_alloc_longest_free_extent() argument
1976 if (need > pag->pagf_flcount) in xfs_alloc_longest_free_extent()
1977 delta = need - pag->pagf_flcount; in xfs_alloc_longest_free_extent()
1984 if (pag->pagf_freeblks - pag->pagf_longest < reserved) in xfs_alloc_longest_free_extent()
1985 delta += reserved - (pag->pagf_freeblks - pag->pagf_longest); in xfs_alloc_longest_free_extent()
1991 if (pag->pagf_longest > delta) in xfs_alloc_longest_free_extent()
1992 return pag->pagf_longest - delta; in xfs_alloc_longest_free_extent()
1995 return pag->pagf_flcount > 0 || pag->pagf_longest > 0; in xfs_alloc_longest_free_extent()
2001 struct xfs_perag *pag) in xfs_alloc_min_freelist() argument
2006 min_free = min_t(unsigned int, pag->pagf_levels[XFS_BTNUM_BNOi] + 1, in xfs_alloc_min_freelist()
2009 min_free += min_t(unsigned int, pag->pagf_levels[XFS_BTNUM_CNTi] + 1, in xfs_alloc_min_freelist()
2014 pag->pagf_levels[XFS_BTNUM_RMAPi] + 1, in xfs_alloc_min_freelist()
2032 struct xfs_perag *pag = args->pag; in xfs_alloc_space_available() local
2041 reservation = xfs_ag_resv_needed(pag, args->resv); in xfs_alloc_space_available()
2045 longest = xfs_alloc_longest_free_extent(pag, min_free, reservation); in xfs_alloc_space_available()
2054 agflcount = min_t(xfs_extlen_t, pag->pagf_flcount, min_free); in xfs_alloc_space_available()
2055 available = (int)(pag->pagf_freeblks + agflcount - in xfs_alloc_space_available()
2161 struct xfs_perag *pag) in xfs_agfl_reset() argument
2166 ASSERT(pag->pagf_agflreset); in xfs_agfl_reset()
2172 pag->pag_agno, pag->pagf_flcount); in xfs_agfl_reset()
2180 pag->pagf_flcount = 0; in xfs_agfl_reset()
2181 pag->pagf_agflreset = false; in xfs_agfl_reset()
2228 struct xfs_perag *pag = args->pag; in xfs_alloc_fix_freelist() local
2240 if (!pag->pagf_init) { in xfs_alloc_fix_freelist()
2244 if (!pag->pagf_init) { in xfs_alloc_fix_freelist()
2256 if (pag->pagf_metadata && xfs_alloc_is_userdata(args->datatype) && in xfs_alloc_fix_freelist()
2262 need = xfs_alloc_min_freelist(mp, pag); in xfs_alloc_fix_freelist()
2283 if (pag->pagf_agflreset) in xfs_alloc_fix_freelist()
2284 xfs_agfl_reset(tp, agbp, pag); in xfs_alloc_fix_freelist()
2287 need = xfs_alloc_min_freelist(mp, pag); in xfs_alloc_fix_freelist()
2321 while (!(flags & XFS_ALLOC_FLAG_NOSHRINK) && pag->pagf_flcount > need) { in xfs_alloc_fix_freelist()
2336 targs.pag = pag; in xfs_alloc_fix_freelist()
2342 while (pag->pagf_flcount < need) { in xfs_alloc_fix_freelist()
2344 targs.maxlen = need - pag->pagf_flcount; in xfs_alloc_fix_freelist()
2404 xfs_perag_t *pag; /* per allocation group data */ in xfs_alloc_get_freelist() local
2433 pag = xfs_perag_get(mp, be32_to_cpu(agf->agf_seqno)); in xfs_alloc_get_freelist()
2434 ASSERT(!pag->pagf_agflreset); in xfs_alloc_get_freelist()
2437 pag->pagf_flcount--; in xfs_alloc_get_freelist()
2442 pag->pagf_btreeblks++; in xfs_alloc_get_freelist()
2445 xfs_perag_put(pag); in xfs_alloc_get_freelist()
2531 xfs_perag_t *pag; /* per allocation group data */ in xfs_alloc_put_freelist() local
2545 pag = xfs_perag_get(mp, be32_to_cpu(agf->agf_seqno)); in xfs_alloc_put_freelist()
2546 ASSERT(!pag->pagf_agflreset); in xfs_alloc_put_freelist()
2549 pag->pagf_flcount++; in xfs_alloc_put_freelist()
2554 pag->pagf_btreeblks--; in xfs_alloc_put_freelist()
2557 xfs_perag_put(pag); in xfs_alloc_put_freelist()
2724 struct xfs_perag *pag; /* per allocation group data */ in xfs_alloc_read_agf() local
2740 pag = xfs_perag_get(mp, agno); in xfs_alloc_read_agf()
2741 if (!pag->pagf_init) { in xfs_alloc_read_agf()
2742 pag->pagf_freeblks = be32_to_cpu(agf->agf_freeblks); in xfs_alloc_read_agf()
2743 pag->pagf_btreeblks = be32_to_cpu(agf->agf_btreeblks); in xfs_alloc_read_agf()
2744 pag->pagf_flcount = be32_to_cpu(agf->agf_flcount); in xfs_alloc_read_agf()
2745 pag->pagf_longest = be32_to_cpu(agf->agf_longest); in xfs_alloc_read_agf()
2746 pag->pagf_levels[XFS_BTNUM_BNOi] = in xfs_alloc_read_agf()
2748 pag->pagf_levels[XFS_BTNUM_CNTi] = in xfs_alloc_read_agf()
2750 pag->pagf_levels[XFS_BTNUM_RMAPi] = in xfs_alloc_read_agf()
2752 pag->pagf_refcount_level = be32_to_cpu(agf->agf_refcount_level); in xfs_alloc_read_agf()
2753 pag->pagf_init = 1; in xfs_alloc_read_agf()
2754 pag->pagf_agflreset = xfs_agfl_needs_reset(mp, agf); in xfs_alloc_read_agf()
2758 ASSERT(pag->pagf_freeblks == be32_to_cpu(agf->agf_freeblks)); in xfs_alloc_read_agf()
2759 ASSERT(pag->pagf_btreeblks == be32_to_cpu(agf->agf_btreeblks)); in xfs_alloc_read_agf()
2760 ASSERT(pag->pagf_flcount == be32_to_cpu(agf->agf_flcount)); in xfs_alloc_read_agf()
2761 ASSERT(pag->pagf_longest == be32_to_cpu(agf->agf_longest)); in xfs_alloc_read_agf()
2762 ASSERT(pag->pagf_levels[XFS_BTNUM_BNOi] == in xfs_alloc_read_agf()
2764 ASSERT(pag->pagf_levels[XFS_BTNUM_CNTi] == in xfs_alloc_read_agf()
2768 xfs_perag_put(pag); in xfs_alloc_read_agf()
2825 args->pag = xfs_perag_get(mp, args->agno); in xfs_alloc_vextent()
2878 args->pag = xfs_perag_get(mp, args->agno); in xfs_alloc_vextent()
2932 xfs_perag_put(args->pag); in xfs_alloc_vextent()
2967 xfs_perag_put(args->pag); in xfs_alloc_vextent()
2970 xfs_perag_put(args->pag); in xfs_alloc_vextent()
2996 args.pag = xfs_perag_get(args.mp, args.agno); in xfs_free_extent_fix_freelist()
2997 ASSERT(args.pag); in xfs_free_extent_fix_freelist()
3005 xfs_perag_put(args.pag); in xfs_free_extent_fix_freelist()