Home
last modified time | relevance | path

Searched refs:pag (Results 1 – 25 of 86) sorted by relevance

1234

/linux-6.15/fs/xfs/libxfs/
H A Dxfs_ag.h155 struct xfs_perag *pag) in xfs_perag_hold() argument
190 return to_perag(xfs_group_next_range(mp, pag ? pag_group(pag) : NULL, in xfs_perag_next_range()
277 xfs_perag_rele(pag); in xfs_perag_next_wrap()
286 if (pag) in xfs_perag_next_wrap()
287 return pag; in xfs_perag_next_wrap()
299 (pag) != NULL; \
300 (pag) = xfs_perag_next_wrap((pag), &(agno), (start_agno), \
315 (agno), (pag))
343 return XFS_AGB_TO_FSB(pag_mount(pag), pag_agno(pag), agbno); in xfs_agbno_to_fsb()
351 return XFS_AGB_TO_DADDR(pag_mount(pag), pag_agno(pag), agbno); in xfs_agbno_to_daddr()
[all …]
H A Dxfs_ag_resv.c70 struct xfs_perag *pag, in xfs_ag_resv_critical() argument
79 avail = pag->pagf_freeblks - pag->pag_rmapbt_resv.ar_reserved; in xfs_ag_resv_critical()
83 avail = pag->pagf_freeblks + pag->pagf_flcount - in xfs_ag_resv_critical()
106 struct xfs_perag *pag, in xfs_ag_resv_needed() argument
111 len = pag->pag_meta_resv.ar_reserved + pag->pag_rmapbt_resv.ar_reserved; in xfs_ag_resv_needed()
133 struct xfs_perag *pag, in __xfs_ag_resv_free() argument
142 if (pag_agno(pag) == 0) in __xfs_ag_resv_free()
162 struct xfs_perag *pag) in xfs_ag_resv_free() argument
170 struct xfs_perag *pag, in __xfs_ag_resv_init() argument
214 pag_agno(pag)); in __xfs_ag_resv_init()
[all …]
H A Dxfs_ag.c49 struct xfs_perag *pag; in xfs_initialize_perag_data() local
69 xfs_perag_put(pag); in xfs_initialize_perag_data()
78 xfs_perag_put(pag); in xfs_initialize_perag_data()
206 if (!pag) in xfs_update_last_ag_size()
211 __xfs_agino_range(mp, pag_group(pag)->xg_block_count, &pag->agino_min, in xfs_update_last_ag_size()
212 &pag->agino_max); in xfs_update_last_ag_size()
227 pag = kzalloc(sizeof(*pag), GFP_KERNEL); in xfs_perag_alloc()
228 if (!pag) in xfs_perag_alloc()
249 &pag->agino_max); in xfs_perag_alloc()
260 kfree(pag); in xfs_perag_alloc()
[all …]
H A Dxfs_ialloc.c114 struct xfs_perag *pag, in xfs_inobt_check_irec() argument
204 struct xfs_perag *pag, in xfs_inobt_insert() argument
551 struct xfs_perag *pag, in xfs_inobt_insert_sprec() argument
695 struct xfs_perag *pag, in xfs_ialloc_ag_alloc() argument
717 args.pag = pag; in xfs_ialloc_ag_alloc()
857 pag_agno(pag)), in xfs_ialloc_ag_alloc()
1065 struct xfs_perag *pag, in xfs_dialloc_check_ino() argument
1090 struct xfs_perag *pag, in xfs_dialloc_ag_inobt() argument
1734 if (!pag) in xfs_dialloc_good_ag()
1957 if (pag) in xfs_dialloc()
[all …]
H A Dxfs_ag_resv.h9 void xfs_ag_resv_free(struct xfs_perag *pag);
10 int xfs_ag_resv_init(struct xfs_perag *pag, struct xfs_trans *tp);
12 bool xfs_ag_resv_critical(struct xfs_perag *pag, enum xfs_ag_resv_type type);
13 xfs_extlen_t xfs_ag_resv_needed(struct xfs_perag *pag,
16 void xfs_ag_resv_alloc_extent(struct xfs_perag *pag, enum xfs_ag_resv_type type,
18 void xfs_ag_resv_free_extent(struct xfs_perag *pag, enum xfs_ag_resv_type type,
23 struct xfs_perag *pag, in xfs_perag_resv() argument
28 return &pag->pag_meta_resv; in xfs_perag_resv()
30 return &pag->pag_rmapbt_resv; in xfs_perag_resv()
H A Dxfs_alloc.c463 ASSERT(args->pag->pagf_freeblks + args->pag->pagf_flcount >= in xfs_alloc_fix_len()
1397 args->pag); in xfs_alloc_ag_vextent_exact()
1813 args->pag); in xfs_alloc_ag_vextent_size()
2001 args->pag); in xfs_alloc_ag_vextent_size()
2425 if (pag->pagf_freeblks - pag->pagf_longest < reserved) in xfs_alloc_longest_free_extent()
2437 return pag->pagf_flcount > 0 || pag->pagf_longest > 0; in xfs_alloc_longest_free_extent()
2500 struct xfs_perag *pag = args->pag; in xfs_alloc_space_available() local
2616 pag_agno(pag), pag->pagf_flcount); in xfs_agfl_reset()
2831 struct xfs_perag *pag = args->pag; in xfs_alloc_fix_freelist() local
2960 targs.pag = pag; in xfs_alloc_fix_freelist()
[all …]
H A Dxfs_inode_util.c411 struct xfs_perag *pag, in xfs_iunlink_update_backref() argument
436 struct xfs_perag *pag, in xfs_iunlink_update_bucket() argument
458 xfs_ag_mark_sick(pag, XFS_SICK_AG_AGI); in xfs_iunlink_update_bucket()
472 struct xfs_perag *pag, in xfs_iunlink_insert_inode() argument
492 xfs_ag_mark_sick(pag, XFS_SICK_AG_AGI); in xfs_iunlink_insert_inode()
535 struct xfs_perag *pag; in xfs_iunlink() local
552 xfs_perag_put(pag); in xfs_iunlink()
559 struct xfs_perag *pag, in xfs_iunlink_remove_inode() argument
580 xfs_ag_mark_sick(pag, XFS_SICK_AG_AGI); in xfs_iunlink_remove_inode()
634 struct xfs_perag *pag, in xfs_iunlink_remove() argument
[all …]
H A Dxfs_alloc.h38 struct xfs_perag *pag; /* per-ag struct for this agno */ member
72 xfs_extlen_t xfs_alloc_longest_free_extent(struct xfs_perag *pag,
75 struct xfs_perag *pag);
76 int xfs_alloc_get_freelist(struct xfs_perag *pag, struct xfs_trans *tp,
78 int xfs_alloc_put_freelist(struct xfs_perag *pag, struct xfs_trans *tp,
146 struct xfs_perag *pag,
156 struct xfs_perag *pag, in xfs_free_extent() argument
162 return __xfs_free_extent(tp, pag, agbno, len, oinfo, type, false); in xfs_free_extent()
189 xfs_failaddr_t xfs_alloc_check_irec(struct xfs_perag *pag,
192 int xfs_read_agf(struct xfs_perag *pag, struct xfs_trans *tp, int flags,
[all …]
H A Dxfs_ialloc_btree.c115 args.pag = to_perag(cur->bc_group); in __xfs_inobt_alloc_block()
123 xfs_agbno_to_fsb(args.pag, sbno)); in __xfs_inobt_alloc_block()
478 struct xfs_perag *pag, in xfs_inobt_init_cursor() argument
482 struct xfs_mount *mp = pag_mount(pag); in xfs_inobt_init_cursor()
504 struct xfs_perag *pag, in xfs_finobt_init_cursor() argument
717 struct xfs_perag *pag) in xfs_inobt_max_size() argument
741 struct xfs_perag *pag, in xfs_finobt_count_blocks() argument
766 struct xfs_perag *pag, in xfs_finobt_read_blocks() argument
789 struct xfs_perag *pag, in xfs_finobt_calc_reserves() argument
797 if (!xfs_has_finobt(pag_mount(pag))) in xfs_finobt_calc_reserves()
[all …]
H A Dxfs_rmap_btree.c71 struct xfs_perag *pag = to_perag(cur->bc_group); in xfs_rmapbt_set_root() local
77 pag->pagf_rmap_level += inc; in xfs_rmapbt_set_root()
91 struct xfs_perag *pag = to_perag(cur->bc_group); in xfs_rmapbt_alloc_block() local
326 struct xfs_perag *pag = bp->b_pag; in xfs_rmapbt_verify() local
352 if (pag && xfs_perag_initialised_agf(pag)) { in xfs_rmapbt_verify()
353 unsigned int maxlevel = pag->pagf_rmap_level; in xfs_rmapbt_verify()
362 pag->pagf_repair_rmap_level); in xfs_rmapbt_verify()
536 struct xfs_perag *pag) in xfs_rmapbt_init_cursor() argument
646 struct xfs_perag *pag, in xfs_rmapbt_mem_cursor() argument
839 struct xfs_perag *pag, in xfs_rmapbt_calc_reserves() argument
[all …]
H A Dxfs_ialloc.h45 int xfs_difree(struct xfs_trans *tp, struct xfs_perag *pag,
53 struct xfs_perag *pag,
68 int xfs_read_agi(struct xfs_perag *pag, struct xfs_trans *tp, xfs_buf_flags_t flags,
70 int xfs_ialloc_read_agi(struct xfs_perag *pag, struct xfs_trans *tp,
100 xfs_failaddr_t xfs_inobt_check_irec(struct xfs_perag *pag,
115 int xfs_ialloc_check_shrink(struct xfs_perag *pag, struct xfs_trans *tp,
H A Dxfs_refcount_btree.c44 struct xfs_perag *pag = agbp->b_pag; in xfs_refcountbt_set_root() local
50 pag->pagf_refcount_level += inc; in xfs_refcountbt_set_root()
71 args.pag = to_perag(cur->bc_group); in xfs_refcountbt_alloc_block()
210 struct xfs_perag *pag = bp->b_pag; in xfs_refcountbt_verify() local
224 if (pag && xfs_perag_initialised_agf(pag)) { in xfs_refcountbt_verify()
234 pag->pagf_repair_refcount_level); in xfs_refcountbt_verify()
360 struct xfs_perag *pag) in xfs_refcountbt_init_cursor() argument
364 ASSERT(pag_agno(pag) < mp->m_sb.sb_agcount); in xfs_refcountbt_init_cursor()
490 struct xfs_perag *pag, in xfs_refcountbt_calc_reserves() argument
503 error = xfs_alloc_read_agf(pag, tp, 0, &agbp); in xfs_refcountbt_calc_reserves()
[all …]
/linux-6.15/fs/xfs/
H A Dxfs_filestream.c41 struct xfs_perag *pag = item->pag; in xfs_fstrm_free_func() local
45 xfs_perag_rele(pag); in xfs_fstrm_free_func()
64 struct xfs_perag *pag; in xfs_filestream_pick_ag() local
88 xfs_perag_rele(pag); in xfs_filestream_pick_ag()
100 max_pag = pag; in xfs_filestream_pick_ag()
152 max_pag = pag; in xfs_filestream_pick_ag()
161 pag = max_pag; in xfs_filestream_pick_ag()
165 args->pag = pag; in xfs_filestream_pick_ag()
224 pag = container_of(mru, struct xfs_fstrm_item, mru)->pag; in xfs_filestream_lookup_association()
254 args->pag = pag; in xfs_filestream_lookup_association()
[all …]
H A Dxfs_icache.c223 struct xfs_perag *pag) in xfs_blockgc_queue() argument
312 pag ? pag_group(pag) : NULL, in xfs_perag_grab_next_tag()
811 xfs_perag_put(pag); in xfs_iget()
830 xfs_perag_put(pag); in xfs_iget()
1290 xfs_perag_put(pag); in xfs_blockgc_set_iflag()
1327 xfs_perag_put(pag); in xfs_blockgc_clear_iflag()
1465 while ((pag = xfs_perag_next(mp, pag))) in xfs_blockgc_stop()
1481 while ((pag = xfs_perag_grab_next_tag(mp, pag, XFS_ICI_BLOCKGC_TAG))) in xfs_blockgc_start()
1605 while ((pag = xfs_perag_grab_next_tag(mp, pag, XFS_ICI_BLOCKGC_TAG))) in xfs_blockgc_flush_all()
1608 while ((pag = xfs_perag_grab_next_tag(mp, pag, XFS_ICI_BLOCKGC_TAG))) in xfs_blockgc_flush_all()
[all …]
H A Dxfs_iwalk.c56 struct xfs_perag *pag; member
99 struct xfs_perag *pag, in xfs_iwalk_ichunk_ra() argument
178 struct xfs_perag *pag = iwag->pag; in xfs_iwalk_ag_recs() local
210 xfs_agino_to_ino(pag, in xfs_iwalk_ag_recs()
264 struct xfs_perag *pag = iwag->pag; in xfs_iwalk_ag_start() local
400 struct xfs_perag *pag = iwag->pag; in xfs_iwalk_ag() local
554 while ((iwag->pag = xfs_perag_next_from(mp, iwag->pag, start_agno))) { in xfs_iwalk_args()
661 while ((pag = xfs_perag_next_from(mp, pag, start_agno))) { in xfs_iwalk_threaded()
675 iwag->pag = xfs_perag_hold(pag); in xfs_iwalk_threaded()
686 if (pag) in xfs_iwalk_threaded()
[all …]
H A Dxfs_discard.c180 struct xfs_perag *pag, in xfs_trim_gather_extents() argument
184 struct xfs_mount *mp = pag_mount(pag); in xfs_trim_gather_extents()
203 error = xfs_alloc_read_agf(pag, tp, 0, &agbp); in xfs_trim_gather_extents()
209 cur = xfs_bnobt_init_cursor(mp, tp, agbp, pag); in xfs_trim_gather_extents()
215 cur = xfs_cntbt_init_cursor(mp, tp, agbp, pag); in xfs_trim_gather_extents()
346 struct xfs_perag *pag, in xfs_trim_perag_extents() argument
353 .count = pag->pagf_longest, in xfs_trim_perag_extents()
412 struct xfs_perag *pag = NULL; in xfs_trim_datadev_extents() local
424 while ((pag = xfs_perag_next_range(mp, pag, start_agno, end_agno))) { in xfs_trim_datadev_extents()
427 if (pag_agno(pag) == end_agno) in xfs_trim_datadev_extents()
[all …]
/linux-6.15/fs/xfs/scrub/
H A Dfscounters.c77 struct xfs_perag *pag = NULL; in xchk_fscount_warmup() local
80 while ((pag = xfs_perag_next(mp, pag))) { in xchk_fscount_warmup()
84 xfs_perag_initialised_agf(pag)) in xchk_fscount_warmup()
115 if (pag) in xchk_fscount_warmup()
116 xfs_perag_rele(pag); in xchk_fscount_warmup()
298 struct xfs_perag *pag = NULL; in xchk_fscount_aggregate_agcounts() local
308 while ((pag = xfs_perag_next(mp, pag))) { in xchk_fscount_aggregate_agcounts()
320 fsc->icount += pag->pagi_count; in xchk_fscount_aggregate_agcounts()
321 fsc->ifree += pag->pagi_freecount; in xchk_fscount_aggregate_agcounts()
342 if (pag) in xchk_fscount_aggregate_agcounts()
[all …]
H A Dagheader_repair.c204 struct xfs_perag *pag = sc->sa.pag; in xrep_agf_init_header() local
297 sc->sa.pag); in xrep_agf_calc_from_btrees()
317 struct xfs_perag *pag; in xrep_agf_commit_new() local
328 pag = sc->sa.pag; in xrep_agf_commit_new()
893 struct xfs_perag *pag = sc->sa.pag; in xrep_agi_init_header() local
1112 struct xfs_perag *pag, in xrep_iunlink_igrab() argument
1171 struct xfs_perag *pag = ragi->sc->sa.pag; in xrep_iunlink_mark_incore() local
1530 struct xfs_perag *pag = sc->sa.pag; in xrep_iunlink_relink_next() local
1588 struct xfs_perag *pag = sc->sa.pag; in xrep_iunlink_relink_prev() local
1685 struct xfs_perag *pag; in xrep_agi_commit_new() local
[all …]
H A Drepair.c272 pag->pagf_freeblks > xfs_ag_resv_needed(pag, type) + nr_blocks; in xrep_ag_has_space()
332 icount = pag->agino_max - pag->agino_min + 1; in xrep_calc_ag_resblks()
462 args.pag = sc->sa.pag; in xrep_fix_freelist()
885 sc->sa.pag); in xrep_ag_btcur_init()
887 sc->sa.pag); in xrep_ag_btcur_init()
904 sc->sa.pag); in xrep_ag_btcur_init()
922 struct xfs_perag *pag = sc->sa.pag; in xrep_reinit_pagf() local
926 ASSERT(pag); in xrep_reinit_pagf()
951 struct xfs_perag *pag = sc->sa.pag; in xrep_reinit_pagi() local
955 ASSERT(pag); in xrep_reinit_pagi()
[all …]
H A Dnewbt.c62 free = sc->sa.pag->pagf_freeblks; in xrep_newbt_estimate_slack()
182 struct xfs_perag *pag, in xrep_newbt_add_blocks() argument
197 resv->pag = xfs_perag_hold(pag); in xrep_newbt_add_blocks()
211 xfs_perag_put(resv->pag); in xrep_newbt_add_blocks()
224 struct xfs_perag *pag, in xrep_newbt_add_extent() argument
265 ASSERT(sc->sa.pag != NULL); in xrep_newbt_alloc_ag_blocks()
352 struct xfs_perag *pag; in xrep_newbt_alloc_file_blocks() local
370 if (!pag) { in xrep_newbt_alloc_file_blocks()
380 xfs_perag_put(pag); in xrep_newbt_alloc_file_blocks()
487 xfs_perag_put(resv->pag); in xrep_newbt_free()
[all …]
H A Dalloc_repair.c536 struct xfs_perag *pag = sc->sa.pag; in xrep_abt_dispose_one() local
541 ASSERT(pag == resv->pag); in xrep_abt_dispose_one()
592 xfs_perag_put(resv->pag); in xrep_abt_dispose_reservations()
652 struct xfs_perag *pag = sc->sa.pag; in xrep_abt_reset_counters() local
690 pag->pagf_repair_bno_level = pag->pagf_bno_level; in xrep_abt_reset_counters()
691 pag->pagf_repair_cnt_level = pag->pagf_cnt_level; in xrep_abt_reset_counters()
709 struct xfs_perag *pag = sc->sa.pag; in xrep_abt_build_new_trees() local
809 pag->pagf_repair_bno_level = 0; in xrep_abt_build_new_trees()
810 pag->pagf_repair_cnt_level = 0; in xrep_abt_build_new_trees()
827 struct xfs_perag *pag = ra->sc->sa.pag; in xrep_abt_remove_old_trees() local
[all …]
H A Dhealth.c170 struct xfs_perag *pag = NULL; in xchk_mark_all_healthy() local
174 while ((pag = xfs_perag_next(mp, pag))) in xchk_mark_all_healthy()
175 xfs_group_mark_healthy(pag_group(pag), XFS_SICK_AG_INDIRECT); in xchk_mark_all_healthy()
194 struct xfs_perag *pag; in xchk_update_health() local
221 pag = xfs_perag_get(sc->mp, sc->sm->sm_agno); in xchk_update_health()
223 xfs_group_mark_corrupt(pag_group(pag), mask); in xchk_update_health()
225 xfs_group_mark_healthy(pag_group(pag), mask); in xchk_update_health()
226 xfs_perag_put(pag); in xchk_update_health()
315 struct xfs_perag *pag = NULL; in xchk_health_record() local
324 while ((pag = xfs_perag_next(mp, pag))) { in xchk_health_record()
[all …]
H A Discan.c61 struct xfs_perag *pag, in xchk_iscan_mask_skipino() argument
88 struct xfs_perag *pag, in xchk_iscan_find_next() argument
265 struct xfs_perag *pag, in xchk_iscan_read_agi() argument
326 if (!pag) in xchk_iscan_advance()
347 *pagp = pag; in xchk_iscan_advance()
358 xfs_perag_put(pag); in xchk_iscan_advance()
369 xfs_perag_put(pag); in xchk_iscan_advance()
453 xfs_perag_put(pag); in xchk_iscan_iget()
471 xfs_perag_put(pag); in xchk_iscan_iget()
485 xfs_perag_put(pag); in xchk_iscan_iget()
[all …]
H A Dreap.c268 struct xfs_perag *pag = sc->sa.pag; in xreap_agextent_binval() local
345 sc->sa.pag); in xreap_agextent_select()
595 ASSERT(!sc->sa.pag); in xreap_fsmeta_extent()
602 if (!sc->sa.pag) in xreap_fsmeta_extent()
652 xfs_perag_put(sc->sa.pag); in xreap_fsmeta_extent()
653 sc->sa.pag = NULL; in xreap_fsmeta_extent()
976 sc->sa.pag); in xreap_bmapi_select()
1047 struct xfs_perag *pag = sc->sa.pag; in xreap_bmapi_binval() local
1240 if (!sc->sa.pag) in xreap_ifork_extent()
1263 xfs_perag_put(sc->sa.pag); in xreap_ifork_extent()
[all …]
H A Dcommon.c568 ASSERT(!sa->pag); in xchk_ag_read_headers()
570 if (!sa->pag) in xchk_ag_read_headers()
613 sa->pag); in xchk_ag_btcur_init()
619 sa->pag); in xchk_ag_btcur_init()
673 if (sa->pag) { in xchk_ag_free()
675 sa->pag = NULL; in xchk_ag_free()
1015 xfs_perag_put(pag); in xchk_iget_agi()
1206 if (!pag) { in xchk_iget_for_scrubbing()
1213 xfs_perag_put(pag); in xchk_iget_for_scrubbing()
1521 struct xfs_perag *pag = sc->sa.pag; in xchk_inode_is_allocated() local
[all …]

1234