Lines Matching refs:pag

26 	struct xfs_perag		*pag; /* AG in use for this directory */
41 struct xfs_perag *pag = item->pag;
43 trace_xfs_filestream_free(pag, mru->key);
44 atomic_dec(&pag->pagf_fstrms);
45 xfs_perag_rele(pag);
64 struct xfs_perag *pag;
76 for_each_perag_wrap(mp, start_agno, agno, pag) {
77 trace_xfs_filestream_scan(pag, pino);
79 err = xfs_bmap_longest_free_extent(pag, NULL, longest);
89 if (pag->pagf_freeblks > maxfree) {
90 maxfree = pag->pagf_freeblks;
93 atomic_inc(&pag->pag_active_ref);
94 max_pag = pag;
103 if (atomic_inc_return(&pag->pagf_fstrms) <= 1) {
105 (!minlen && pag->pagf_freeblks >= minfree)) &&
106 (!xfs_perag_prefers_metadata(pag) ||
110 free = pag->pagf_freeblks;
116 atomic_dec(&pag->pagf_fstrms);
120 xfs_perag_rele(pag);
126 if (!pag) {
153 for_each_perag_wrap(args->mp, 0, start_agno, args->pag)
155 atomic_inc(&args->pag->pagf_fstrms);
158 pag = max_pag;
160 atomic_inc(&pag->pagf_fstrms);
166 trace_xfs_filestream_pick(pag, pino, free);
167 args->pag = pag;
213 struct xfs_perag *pag;
222 * Grab the pag and take an extra active reference for the caller whilst
227 pag = container_of(mru, struct xfs_fstrm_item, mru)->pag;
228 atomic_inc(&pag->pag_active_ref);
231 trace_xfs_filestream_lookup(pag, ap->ip->i_ino);
233 ap->blkno = XFS_AGB_TO_FSB(args->mp, pag->pag_agno, 0);
246 error = xfs_bmap_longest_free_extent(pag, args->tp, longest);
252 xfs_perag_rele(pag);
257 args->pag = pag;
281 agno = (item->pag->pag_agno + 1) % mp->m_sb.sb_agcount;
320 atomic_inc(&args->pag->pag_active_ref);
321 item->pag = args->pag;
328 xfs_perag_rele(item->pag);
331 atomic_dec(&args->pag->pagf_fstrms);
341 * We return with a referenced perag in args->pag to indicate which AG we are
376 ap->blkno = XFS_AGB_TO_FSB(mp, args->pag->pag_agno, 0);