/linux-6.3-rc2/fs/xfs/libxfs/ |
A D | xfs_ag_resv.c | 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() 82 avail = pag->pagf_freeblks + pag->pagf_flcount - 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() 131 struct xfs_perag *pag, in __xfs_ag_resv_free() argument 141 if (pag->pag_agno == 0) in __xfs_ag_resv_free() 158 trace_xfs_ag_resv_free_error(pag->pag_mount, pag->pag_agno, in __xfs_ag_resv_free() 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() [all …]
|
A D | xfs_ag.h | 222 xfs_perag_rele(pag); in xfs_perag_next() 225 if (pag) in xfs_perag_next() 226 return pag; in xfs_perag_next() 234 (pag) != NULL; \ 235 (pag) = xfs_perag_next((pag), &(agno), (end_agno))) 246 (pag) != NULL; \ 271 if (pag) in xfs_perag_next_wrap() 272 return pag; in xfs_perag_next_wrap() 284 (pag) != NULL; \ 285 (pag) = xfs_perag_next_wrap((pag), &(agno), (start_agno), \ [all …]
|
A D | xfs_ag.c | 50 if (pag) { in xfs_perag_get() 56 return pag; in xfs_perag_get() 81 return pag; in xfs_perag_get_tag() 108 if (pag) { in xfs_perag_grab() 114 return pag; in xfs_perag_grab() 138 pag = NULL; in xfs_perag_grab_tag() 140 return pag; in xfs_perag_grab_tag() 345 pag = kmem_zalloc(sizeof(*pag), KM_MAYFAIL); in xfs_initialize_perag() 418 if (!pag) in xfs_initialize_perag() 890 .pag = pag, in xfs_ag_shrink_space() [all …]
|
A D | xfs_ag_resv.h | 9 int 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, 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() 47 struct xfs_perag *pag; in xfs_ag_resv_rmapbt_alloc() local 50 pag = xfs_perag_get(mp, agno); in xfs_ag_resv_rmapbt_alloc() 51 xfs_ag_resv_alloc_extent(pag, XFS_AG_RESV_RMAPBT, &args); in xfs_ag_resv_rmapbt_alloc() [all …]
|
A D | xfs_ialloc.c | 172 struct xfs_perag *pag, in xfs_inobt_insert() argument 516 struct xfs_perag *pag, in xfs_inobt_insert_sprec() argument 611 struct xfs_perag *pag, in xfs_ialloc_ag_alloc() argument 633 args.pag = pag; in xfs_ialloc_ag_alloc() 979 struct xfs_perag *pag, in xfs_dialloc_ag_inobt() argument 1228 pag->pagi_freecount--; in xfs_dialloc_ag_inobt() 1589 if (!pag) in xfs_dialloc_good_ag() 1789 if (pag) in xfs_dialloc() 1790 xfs_perag_rele(pag); in xfs_dialloc() 2566 trace_xfs_read_agi(pag->pag_mount, pag->pag_agno); in xfs_read_agi() [all …]
|
A D | xfs_alloc.c | 247 struct xfs_perag *pag = cur->bc_ag.pag; in xfs_alloc_get_rec() local 426 ASSERT(args->pag->pagf_freeblks + args->pag->pagf_flcount >= in xfs_alloc_fix_len() 2165 if (pag->pagf_freeblks - pag->pagf_longest < reserved) in xfs_alloc_longest_free_extent() 2177 return pag->pagf_flcount > 0 || pag->pagf_longest > 0; in xfs_alloc_longest_free_extent() 2222 struct xfs_perag *pag = args->pag; in xfs_alloc_space_available() local 2364 pag->pag_agno, pag->pagf_flcount); in xfs_agfl_reset() 2516 struct xfs_perag *pag = args->pag; in xfs_alloc_fix_freelist() local 2631 targs.pag = pag; in xfs_alloc_fix_freelist() 2993 trace_xfs_read_agf(pag->pag_mount, pag->pag_agno); in xfs_read_agf() 3022 trace_xfs_alloc_read_agf(pag->pag_mount, pag->pag_agno); in xfs_alloc_read_agf() [all …]
|
A D | xfs_refcount_btree.c | 32 cur->bc_ag.agbp, cur->bc_ag.pag); in xfs_refcountbt_dup_cursor() 43 struct xfs_perag *pag = agbp->b_pag; in xfs_refcountbt_set_root() local 49 pag->pagf_refcount_level += inc; in xfs_refcountbt_set_root() 70 args.pag = cur->bc_ag.pag; in xfs_refcountbt_alloc_block() 230 if (pag && xfs_perag_initialised_agf(pag)) { in xfs_refcountbt_verify() 330 struct xfs_perag *pag) in xfs_refcountbt_init_common() argument 343 atomic_inc(&pag->pag_ref); in xfs_refcountbt_init_common() 344 cur->bc_ag.pag = pag; in xfs_refcountbt_init_common() 358 struct xfs_perag *pag) in xfs_refcountbt_init_cursor() argument 374 struct xfs_perag *pag) in xfs_refcountbt_stage_cursor() argument [all …]
|
A D | xfs_rmap_btree.c | 57 cur->bc_ag.agbp, cur->bc_ag.pag); in xfs_rmapbt_dup_cursor() 88 struct xfs_perag *pag = cur->bc_ag.pag; in xfs_rmapbt_alloc_block() local 123 struct xfs_perag *pag = cur->bc_ag.pag; in xfs_rmapbt_free_block() local 290 struct xfs_perag *pag = bp->b_pag; in xfs_rmapbt_verify() local 316 if (pag && xfs_perag_initialised_agf(pag)) { in xfs_rmapbt_verify() 452 struct xfs_perag *pag) in xfs_rmapbt_init_common() argument 464 atomic_inc(&pag->pag_ref); in xfs_rmapbt_init_common() 465 cur->bc_ag.pag = pag; in xfs_rmapbt_init_common() 476 struct xfs_perag *pag) in xfs_rmapbt_init_cursor() argument 492 struct xfs_perag *pag) in xfs_rmapbt_stage_cursor() argument [all …]
|
A D | xfs_ialloc_btree.c | 106 args.pag = cur->bc_ag.pag; in __xfs_inobt_alloc_block() 430 struct xfs_perag *pag, in xfs_inobt_init_common() argument 451 atomic_inc(&pag->pag_ref); in xfs_inobt_init_common() 452 cur->bc_ag.pag = pag; in xfs_inobt_init_common() 459 struct xfs_perag *pag, in xfs_inobt_init_cursor() argument 479 struct xfs_perag *pag, in xfs_inobt_stage_cursor() argument 684 struct xfs_perag *pag) in xfs_inobt_max_size() argument 709 struct xfs_perag *pag, in xfs_inobt_cur() argument 732 struct xfs_perag *pag, in xfs_inobt_count_blocks() argument 755 struct xfs_perag *pag, in xfs_finobt_read_blocks() argument [all …]
|
A D | xfs_refcount.c | 133 struct xfs_perag *pag = cur->bc_ag.pag; in xfs_refcount_get_rec() local 161 pag->pag_agno); in xfs_refcount_get_rec() 1130 cur->bc_ag.pag->pag_agno, in xfs_refcount_adjust_extents() 1172 cur->bc_ag.pag->pag_agno, &ext); in xfs_refcount_adjust_extents() 1189 cur->bc_ag.pag->pag_agno, in xfs_refcount_adjust_extents() 1301 struct xfs_perag *pag = cur->bc_ag.pag; in xfs_refcount_continue_op() local 1335 struct xfs_perag *pag; in xfs_refcount_finish_one() local 1354 if (rcur != NULL && rcur->bc_ag.pag != pag) { in xfs_refcount_finish_one() 1410 xfs_perag_put(pag); in xfs_refcount_finish_one() 1689 cur->bc_ag.pag->pag_agno, &tmp); in xfs_refcount_adjust_cow_extents() [all …]
|
A D | xfs_health.h | 112 void xfs_ag_mark_sick(struct xfs_perag *pag, unsigned int mask); 113 void xfs_ag_mark_healthy(struct xfs_perag *pag, unsigned int mask); 114 void xfs_ag_measure_sickness(struct xfs_perag *pag, unsigned int *sick, 145 xfs_ag_has_sickness(struct xfs_perag *pag, unsigned int mask) in xfs_ag_has_sickness() argument 149 xfs_ag_measure_sickness(pag, &sick, &checked); in xfs_ag_has_sickness() 175 xfs_ag_is_healthy(struct xfs_perag *pag) in xfs_ag_is_healthy() argument 177 return !xfs_ag_has_sickness(pag, -1U); in xfs_ag_is_healthy() 187 void xfs_ag_geom_health(struct xfs_perag *pag, struct xfs_ag_geometry *ageo);
|
A D | xfs_alloc_btree.c | 47 cur->bc_ag.pag->pagf_levels[btnum] += inc; in xfs_allocbt_set_root() 115 struct xfs_perag *pag; in xfs_allocbt_update_lastrec() local 159 pag = cur->bc_ag.agbp->b_pag; in xfs_allocbt_update_lastrec() 160 pag->pagf_longest = be32_to_cpu(len); in xfs_allocbt_update_lastrec() 292 struct xfs_perag *pag = bp->b_pag; in xfs_allocbt_verify() local 318 if (pag && xfs_perag_initialised_agf(pag)) { in xfs_allocbt_verify() 475 struct xfs_perag *pag, in xfs_allocbt_init_common() argument 496 atomic_inc(&pag->pag_ref); in xfs_allocbt_init_common() 497 cur->bc_ag.pag = pag; in xfs_allocbt_init_common() 513 struct xfs_perag *pag, in xfs_allocbt_init_cursor() argument [all …]
|
A D | xfs_alloc.h | 37 struct xfs_perag *pag; /* per-ag struct for this agno */ member 73 xfs_extlen_t xfs_alloc_longest_free_extent(struct xfs_perag *pag, 76 struct xfs_perag *pag); 77 int xfs_alloc_get_freelist(struct xfs_perag *pag, struct xfs_trans *tp, 79 int xfs_alloc_put_freelist(struct xfs_perag *pag, struct xfs_trans *tp, 182 int xfs_read_agf(struct xfs_perag *pag, struct xfs_trans *tp, int flags, 184 int xfs_alloc_read_agf(struct xfs_perag *pag, struct xfs_trans *tp, int flags, 186 int xfs_alloc_read_agfl(struct xfs_perag *pag, struct xfs_trans *tp, 191 int xfs_free_extent_fix_freelist(struct xfs_trans *tp, struct xfs_perag *pag,
|
/linux-6.3-rc2/fs/xfs/ |
A D | xfs_extent_busy.c | 25 struct xfs_perag *pag, in xfs_extent_busy_insert() argument 36 new->agno = pag->pag_agno; in xfs_extent_busy_insert() 81 struct xfs_perag *pag, in xfs_extent_busy_search() argument 128 struct xfs_perag *pag, in xfs_extent_busy_update_extent() argument 277 struct xfs_perag *pag, in xfs_extent_busy_reuse() argument 500 struct xfs_perag *pag, in xfs_extent_busy_clear_one() argument 515 struct xfs_perag *pag, in xfs_extent_busy_put_pag() argument 520 pag->pagb_gen++; in xfs_extent_busy_put_pag() 525 xfs_perag_put(pag); in xfs_extent_busy_put_pag() 546 if (pag) in xfs_extent_busy_clear() [all …]
|
A D | xfs_filestream.c | 41 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 95 max_pag = pag; in xfs_filestream_pick_ag() 121 xfs_perag_rele(pag); in xfs_filestream_pick_ag() 127 if (!pag) { in xfs_filestream_pick_ag() 159 pag = max_pag; in xfs_filestream_pick_ag() 168 args->pag = pag; in xfs_filestream_pick_ag() 228 pag = container_of(mru, struct xfs_fstrm_item, mru)->pag; in xfs_filestream_lookup_association() 258 args->pag = pag; in xfs_filestream_lookup_association() [all …]
|
A D | xfs_icache.c | 207 struct xfs_perag *pag) in xfs_blockgc_queue() argument 225 struct xfs_perag *pag, in xfs_perag_set_inode_tag() argument 264 struct xfs_perag *pag, in xfs_perag_clear_inode_tag() argument 336 struct xfs_perag *pag, in xfs_iget_recycle() argument 457 struct xfs_perag *pag, in xfs_iget_cache_hit() argument 756 xfs_perag_put(pag); in xfs_iget() 774 xfs_perag_put(pag); in xfs_iget() 1033 xfs_perag_put(pag); in xfs_reclaim_inodes_count() 1199 xfs_perag_put(pag); in xfs_blockgc_set_iflag() 1236 xfs_perag_put(pag); in xfs_blockgc_clear_iflag() [all …]
|
A D | xfs_iwalk.c | 186 struct xfs_perag *pag = iwag->pag; in xfs_iwalk_ag_recs() local 272 struct xfs_perag *pag = iwag->pag; in xfs_iwalk_ag_start() local 407 struct xfs_perag *pag = iwag->pag; in xfs_iwalk_ag() local 583 iwag.pag = pag; in xfs_iwalk() 590 iwag.pag = NULL; in xfs_iwalk() 593 if (iwag.pag) in xfs_iwalk() 674 iwag->pag = pag; in xfs_iwalk_threaded() 685 if (pag) in xfs_iwalk_threaded() 768 iwag.pag = pag; in xfs_inobt_walk() 775 iwag.pag = NULL; in xfs_inobt_walk() [all …]
|
A D | xfs_health.c | 27 struct xfs_perag *pag; in xfs_health_unmount() local 179 struct xfs_perag *pag, in xfs_ag_mark_sick() argument 183 trace_xfs_ag_mark_sick(pag->pag_mount, pag->pag_agno, mask); in xfs_ag_mark_sick() 186 pag->pag_sick |= mask; in xfs_ag_mark_sick() 187 pag->pag_checked |= mask; in xfs_ag_mark_sick() 194 struct xfs_perag *pag, in xfs_ag_mark_healthy() argument 198 trace_xfs_ag_mark_healthy(pag->pag_mount, pag->pag_agno, mask); in xfs_ag_mark_healthy() 201 pag->pag_sick &= ~mask; in xfs_ag_mark_healthy() 209 struct xfs_perag *pag, in xfs_ag_measure_sickness() argument 214 *sick = pag->pag_sick; in xfs_ag_measure_sickness() [all …]
|
A D | xfs_discard.c | 24 struct xfs_perag *pag, in xfs_trim_extents() argument 30 struct xfs_mount *mp = pag->pag_mount; in xfs_trim_extents() 45 error = xfs_alloc_read_agf(pag, NULL, 0, &agbp); in xfs_trim_extents() 83 dbno = XFS_AGB_TO_DADDR(mp, pag->pag_agno, fbno); in xfs_trim_extents() 100 trace_xfs_discard_exclude(mp, pag->pag_agno, fbno, flen); in xfs_trim_extents() 108 if (xfs_extent_busy_search(mp, pag, fbno, flen)) { in xfs_trim_extents() 109 trace_xfs_discard_busy(mp, pag->pag_agno, fbno, flen); in xfs_trim_extents() 113 trace_xfs_discard_extent(mp, pag->pag_agno, fbno, flen); in xfs_trim_extents() 150 struct xfs_perag *pag; in xfs_ioc_trim() local 196 error = xfs_trim_extents(pag, start, end, minlen, in xfs_ioc_trim() [all …]
|
A D | xfs_iunlink_item.c | 34 xfs_perag_put(iup->pag); in xfs_iunlink_item_release() 83 trace_xfs_iunlink_update_dinode(mp, iup->pag->pag_agno, in xfs_iunlink_log_dinode() 144 struct xfs_perag *pag, in xfs_iunlink_log_inode() argument 150 ASSERT(xfs_verify_agino_or_null(pag, next_agino)); in xfs_iunlink_log_inode() 151 ASSERT(xfs_verify_agino_or_null(pag, ip->i_next_unlinked)); in xfs_iunlink_log_inode() 172 atomic_inc(&pag->pag_ref); in xfs_iunlink_log_inode() 173 iup->pag = pag; in xfs_iunlink_log_inode()
|
/linux-6.3-rc2/fs/xfs/scrub/ |
A D | agheader_repair.c | 194 struct xfs_perag *pag = sc->sa.pag; in xrep_agf_init_header() local 260 sc->sa.pag, XFS_BTNUM_BNO); in xrep_agf_calc_from_btrees() 274 sc->sa.pag, XFS_BTNUM_CNT); in xrep_agf_calc_from_btrees() 295 sc->sa.pag); in xrep_agf_calc_from_btrees() 315 struct xfs_perag *pag; in xrep_agf_commit_new() local 326 pag = sc->sa.pag; in xrep_agf_commit_new() 558 sc->sa.pag, XFS_BTNUM_BNO); in xrep_agfl_collect_blocks() 566 sc->sa.pag, XFS_BTNUM_CNT); in xrep_agfl_collect_blocks() 826 struct xfs_perag *pag = sc->sa.pag; in xrep_agi_init_header() local 919 struct xfs_perag *pag; in xrep_agi_commit_new() local [all …]
|
A D | repair.c | 173 struct xfs_perag *pag, in xrep_ag_has_space() argument 179 pag->pagf_freeblks > xfs_ag_resv_needed(pag, type) + nr_blocks; in xrep_ag_has_space() 193 struct xfs_perag *pag; in xrep_calc_ag_resblks() local 211 icount = pag->pagi_count; in xrep_calc_ag_resblks() 216 icount = pag->pagi_count; in xrep_calc_ag_resblks() 224 aglen = pag->block_count; in xrep_calc_ag_resblks() 239 icount = pag->agino_max - pag->agino_min + 1; in xrep_calc_ag_resblks() 246 aglen = pag->block_count; in xrep_calc_ag_resblks() 250 xfs_perag_put(pag); in xrep_calc_ag_resblks() 329 args.pag = sc->sa.pag; in xrep_alloc_ag_block() [all …]
|
A D | fscounters.c | 82 struct xfs_perag *pag = NULL; in xchk_fscount_warmup() local 86 for_each_perag(mp, agno, pag) { in xchk_fscount_warmup() 90 xfs_perag_initialised_agf(pag)) in xchk_fscount_warmup() 121 if (pag) in xchk_fscount_warmup() 122 xfs_perag_rele(pag); in xchk_fscount_warmup() 209 struct xfs_perag *pag; in xchk_fscount_aggregate_agcounts() local 220 for_each_perag(mp, agno, pag) { in xchk_fscount_aggregate_agcounts() 232 fsc->icount += pag->pagi_count; in xchk_fscount_aggregate_agcounts() 233 fsc->ifree += pag->pagi_freecount; in xchk_fscount_aggregate_agcounts() 254 if (pag) in xchk_fscount_aggregate_agcounts() [all …]
|
A D | common.c | 414 ASSERT(!sa->pag); in xchk_ag_read_headers() 416 if (!sa->pag) in xchk_ag_read_headers() 468 sa->pag, XFS_BTNUM_BNO); in xchk_ag_btcur_init() 496 sa->pag); in xchk_ag_btcur_init() 503 sa->agf_bp, sa->pag); in xchk_ag_btcur_init() 522 if (sa->pag) { in xchk_ag_free() 523 xfs_perag_put(sa->pag); in xchk_ag_free() 524 sa->pag = NULL; in xchk_ag_free() 639 struct xfs_perag *pag; in xchk_get_inode() local 676 if (pag) { in xchk_get_inode() [all …]
|
A D | health.c | 132 struct xfs_perag *pag; in xchk_update_health() local 142 pag = xfs_perag_get(sc->mp, sc->sm->sm_agno); in xchk_update_health() 144 xfs_ag_mark_sick(pag, sc->sick_mask); in xchk_update_health() 146 xfs_ag_mark_healthy(pag, sc->sick_mask); in xchk_update_health() 147 xfs_perag_put(pag); in xchk_update_health() 179 struct xfs_perag *pag, in xchk_ag_btree_healthy_enough() argument 227 if (xfs_ag_has_sickness(pag, mask)) { in xchk_ag_btree_healthy_enough()
|