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
76 for_each_perag_wrap(mp, start_agno, agno, pag) { in xfs_filestream_pick_ag()
77 trace_xfs_filestream_scan(pag, pino); in xfs_filestream_pick_ag()
79 err = xfs_bmap_longest_free_extent(pag, NULL, longest); in xfs_filestream_pick_ag()
81 xfs_perag_rele(pag); in xfs_filestream_pick_ag()
90 if (pag->pagf_freeblks > maxfree) { in xfs_filestream_pick_ag()
91 maxfree = pag->pagf_freeblks; in xfs_filestream_pick_ag()
94 atomic_inc(&pag->pag_active_ref); in xfs_filestream_pick_ag()
95 max_pag = pag; in xfs_filestream_pick_ag()
104 if (atomic_inc_return(&pag->pagf_fstrms) <= 1) { in xfs_filestream_pick_ag()
106 (!minlen && pag->pagf_freeblks >= minfree)) && in xfs_filestream_pick_ag()
107 (!xfs_perag_prefers_metadata(pag) || in xfs_filestream_pick_ag()
111 free = pag->pagf_freeblks; in xfs_filestream_pick_ag()
117 atomic_dec(&pag->pagf_fstrms); in xfs_filestream_pick_ag()
121 xfs_perag_rele(pag); in xfs_filestream_pick_ag()
127 if (!pag) { in xfs_filestream_pick_ag()
154 for_each_perag_wrap(args->mp, 0, start_agno, args->pag) in xfs_filestream_pick_ag()
156 atomic_inc(&args->pag->pagf_fstrms); in xfs_filestream_pick_ag()
159 pag = max_pag; in xfs_filestream_pick_ag()
161 atomic_inc(&pag->pagf_fstrms); in xfs_filestream_pick_ag()
167 trace_xfs_filestream_pick(pag, pino, free); in xfs_filestream_pick_ag()
168 args->pag = pag; in xfs_filestream_pick_ag()
214 struct xfs_perag *pag; in xfs_filestream_lookup_association() local
228 pag = container_of(mru, struct xfs_fstrm_item, mru)->pag; in xfs_filestream_lookup_association()
229 atomic_inc(&pag->pag_active_ref); in xfs_filestream_lookup_association()
232 trace_xfs_filestream_lookup(pag, ap->ip->i_ino); in xfs_filestream_lookup_association()
234 ap->blkno = XFS_AGB_TO_FSB(args->mp, pag->pag_agno, 0); in xfs_filestream_lookup_association()
247 error = xfs_bmap_longest_free_extent(pag, args->tp, longest); in xfs_filestream_lookup_association()
253 xfs_perag_rele(pag); in xfs_filestream_lookup_association()
258 args->pag = pag; in xfs_filestream_lookup_association()
282 agno = (item->pag->pag_agno + 1) % mp->m_sb.sb_agcount; in xfs_filestream_create_association()
321 atomic_inc(&args->pag->pag_active_ref); in xfs_filestream_create_association()
322 item->pag = args->pag; in xfs_filestream_create_association()
329 xfs_perag_rele(item->pag); in xfs_filestream_create_association()
332 atomic_dec(&args->pag->pagf_fstrms); in xfs_filestream_create_association()
377 ap->blkno = XFS_AGB_TO_FSB(mp, args->pag->pag_agno, 0); in xfs_filestream_select_ag()