Lines Matching refs:pag
70 struct xfs_perag *pag, in xfs_ag_resv_critical() argument
78 avail = pag->pagf_freeblks - pag->pag_rmapbt_resv.ar_reserved; in xfs_ag_resv_critical()
79 orig = pag->pag_meta_resv.ar_asked; in xfs_ag_resv_critical()
82 avail = pag->pagf_freeblks + pag->pagf_flcount - in xfs_ag_resv_critical()
83 pag->pag_meta_resv.ar_reserved; in xfs_ag_resv_critical()
84 orig = pag->pag_rmapbt_resv.ar_asked; in xfs_ag_resv_critical()
91 trace_xfs_ag_resv_critical(pag, type, avail); in xfs_ag_resv_critical()
95 avail < pag->pag_mount->m_agbtree_maxlevels, in xfs_ag_resv_critical()
96 pag->pag_mount, XFS_ERRTAG_AG_RESV_CRITICAL); in xfs_ag_resv_critical()
105 struct xfs_perag *pag, in xfs_ag_resv_needed() argument
110 len = pag->pag_meta_resv.ar_reserved + pag->pag_rmapbt_resv.ar_reserved; in xfs_ag_resv_needed()
114 len -= xfs_perag_resv(pag, type)->ar_reserved; in xfs_ag_resv_needed()
123 trace_xfs_ag_resv_needed(pag, type, len); in xfs_ag_resv_needed()
131 struct xfs_perag *pag, in __xfs_ag_resv_free() argument
138 trace_xfs_ag_resv_free(pag, type, 0); in __xfs_ag_resv_free()
140 resv = xfs_perag_resv(pag, type); in __xfs_ag_resv_free()
141 if (pag->pag_agno == 0) in __xfs_ag_resv_free()
142 pag->pag_mount->m_ag_max_usable += resv->ar_asked; in __xfs_ag_resv_free()
152 error = xfs_mod_fdblocks(pag->pag_mount, oldresv, true); in __xfs_ag_resv_free()
158 trace_xfs_ag_resv_free_error(pag->pag_mount, pag->pag_agno, in __xfs_ag_resv_free()
166 struct xfs_perag *pag) in xfs_ag_resv_free() argument
171 error = __xfs_ag_resv_free(pag, XFS_AG_RESV_RMAPBT); in xfs_ag_resv_free()
172 err2 = __xfs_ag_resv_free(pag, XFS_AG_RESV_METADATA); in xfs_ag_resv_free()
180 struct xfs_perag *pag, in __xfs_ag_resv_init() argument
185 struct xfs_mount *mp = pag->pag_mount; in __xfs_ag_resv_init()
221 trace_xfs_ag_resv_init_error(pag->pag_mount, pag->pag_agno, in __xfs_ag_resv_init()
225 pag->pag_agno); in __xfs_ag_resv_init()
235 if (pag->pag_agno == 0) in __xfs_ag_resv_init()
238 resv = xfs_perag_resv(pag, type); in __xfs_ag_resv_init()
243 trace_xfs_ag_resv_init(pag, type, ask); in __xfs_ag_resv_init()
250 struct xfs_perag *pag, in xfs_ag_resv_init() argument
253 struct xfs_mount *mp = pag->pag_mount; in xfs_ag_resv_init()
260 if (pag->pag_meta_resv.ar_asked == 0) { in xfs_ag_resv_init()
263 error = xfs_refcountbt_calc_reserves(mp, tp, pag, &ask, &used); in xfs_ag_resv_init()
267 error = xfs_finobt_calc_reserves(pag, tp, &ask, &used); in xfs_ag_resv_init()
271 error = __xfs_ag_resv_init(pag, XFS_AG_RESV_METADATA, in xfs_ag_resv_init()
285 error = xfs_refcountbt_calc_reserves(mp, tp, pag, &ask, in xfs_ag_resv_init()
290 error = __xfs_ag_resv_init(pag, XFS_AG_RESV_METADATA, in xfs_ag_resv_init()
300 if (pag->pag_rmapbt_resv.ar_asked == 0) { in xfs_ag_resv_init()
303 error = xfs_rmapbt_calc_reserves(mp, tp, pag, &ask, &used); in xfs_ag_resv_init()
307 error = __xfs_ag_resv_init(pag, XFS_AG_RESV_RMAPBT, ask, used); in xfs_ag_resv_init()
325 error2 = xfs_alloc_read_agf(pag, tp, 0, NULL); in xfs_ag_resv_init()
338 xfs_perag_resv(pag, XFS_AG_RESV_METADATA)->ar_reserved + in xfs_ag_resv_init()
339 xfs_perag_resv(pag, XFS_AG_RESV_RMAPBT)->ar_reserved > in xfs_ag_resv_init()
340 pag->pagf_freeblks + pag->pagf_flcount) in xfs_ag_resv_init()
350 struct xfs_perag *pag, in xfs_ag_resv_alloc_extent() argument
358 trace_xfs_ag_resv_alloc_extent(pag, type, args->len); in xfs_ag_resv_alloc_extent()
365 resv = xfs_perag_resv(pag, type); in xfs_ag_resv_alloc_extent()
392 struct xfs_perag *pag, in xfs_ag_resv_free_extent() argument
400 trace_xfs_ag_resv_free_extent(pag, type, len); in xfs_ag_resv_free_extent()
407 resv = xfs_perag_resv(pag, type); in xfs_ag_resv_free_extent()