Lines Matching refs:pag
26 struct xfs_perag *pag; /* AG in use for this directory */ member
41 struct xfs_perag *pag = item->pag; in xfs_fstrm_free_func() local
43 trace_xfs_filestream_free(pag, mru->key); in xfs_fstrm_free_func()
44 atomic_dec(&pag->pagf_fstrms); in xfs_fstrm_free_func()
45 xfs_perag_rele(pag); in xfs_fstrm_free_func()
64 struct xfs_perag *pag; in xfs_filestream_pick_ag() local
75 for_each_perag_wrap(mp, start_agno, agno, pag) { in xfs_filestream_pick_ag()
78 trace_xfs_filestream_scan(pag, pino); in xfs_filestream_pick_ag()
81 err = xfs_bmap_longest_free_extent(pag, NULL, longest); in xfs_filestream_pick_ag()
88 xfs_perag_rele(pag); in xfs_filestream_pick_ag()
95 if (pag->pagf_freeblks > maxfree) { in xfs_filestream_pick_ag()
96 maxfree = pag->pagf_freeblks; in xfs_filestream_pick_ag()
99 atomic_inc(&pag->pag_active_ref); in xfs_filestream_pick_ag()
100 max_pag = pag; in xfs_filestream_pick_ag()
109 if (atomic_inc_return(&pag->pagf_fstrms) <= 1) { in xfs_filestream_pick_ag()
111 (!minlen && pag->pagf_freeblks >= minfree)) && in xfs_filestream_pick_ag()
112 (!xfs_perag_prefers_metadata(pag) || in xfs_filestream_pick_ag()
123 atomic_dec(&pag->pagf_fstrms); in xfs_filestream_pick_ag()
151 for_each_perag_wrap(args->mp, 0, start_agno, pag) { in xfs_filestream_pick_ag()
152 max_pag = pag; in xfs_filestream_pick_ag()
161 pag = max_pag; in xfs_filestream_pick_ag()
162 atomic_inc(&pag->pagf_fstrms); in xfs_filestream_pick_ag()
164 trace_xfs_filestream_pick(pag, pino); in xfs_filestream_pick_ag()
165 args->pag = pag; in xfs_filestream_pick_ag()
210 struct xfs_perag *pag; in xfs_filestream_lookup_association() local
224 pag = container_of(mru, struct xfs_fstrm_item, mru)->pag; in xfs_filestream_lookup_association()
225 atomic_inc(&pag->pag_active_ref); in xfs_filestream_lookup_association()
228 trace_xfs_filestream_lookup(pag, ap->ip->i_ino); in xfs_filestream_lookup_association()
230 ap->blkno = XFS_AGB_TO_FSB(args->mp, pag->pag_agno, 0); in xfs_filestream_lookup_association()
243 error = xfs_bmap_longest_free_extent(pag, args->tp, longest); in xfs_filestream_lookup_association()
249 xfs_perag_rele(pag); in xfs_filestream_lookup_association()
254 args->pag = pag; in xfs_filestream_lookup_association()
278 agno = (item->pag->pag_agno + 1) % mp->m_sb.sb_agcount; in xfs_filestream_create_association()
317 atomic_inc(&args->pag->pag_active_ref); in xfs_filestream_create_association()
318 item->pag = args->pag; in xfs_filestream_create_association()
325 xfs_perag_rele(item->pag); in xfs_filestream_create_association()
328 atomic_dec(&args->pag->pagf_fstrms); in xfs_filestream_create_association()
373 ap->blkno = XFS_AGB_TO_FSB(mp, args->pag->pag_agno, 0); in xfs_filestream_select_ag()