/linux/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 | 124 struct xfs_perag *pag, in xfs_perag_next() argument 128 struct xfs_mount *mp = pag->pag_mount; in xfs_perag_next() 130 *agno = pag->pag_agno + 1; in xfs_perag_next() 131 xfs_perag_put(pag); in xfs_perag_next() 139 (pag) != NULL; \ 140 (pag) = xfs_perag_next((pag), &(agno), (end_agno))) 146 #define for_each_perag(mp, agno, pag) \ argument 148 for_each_perag_from((mp), (agno), (pag)) 152 (pag) != NULL; \ 153 (agno) = (pag)->pag_agno + 1, \ [all …]
|
A D | xfs_ag.c | 51 if (pag) { in xfs_perag_get() 57 return pag; in xfs_perag_get() 83 return pag; in xfs_perag_get_tag() 94 trace_xfs_perag_put(pag->pag_mount, pag->pag_agno, ref, _RET_IP_); in xfs_perag_put() 177 kmem_free(pag); in __xfs_free_perag() 194 ASSERT(pag); in xfs_free_perag() 223 if (pag) { in xfs_initialize_perag() 228 pag = kmem_zalloc(sizeof(*pag), KM_MAYFAIL); in xfs_initialize_perag() 229 if (!pag) { in xfs_initialize_perag() 289 kmem_free(pag); in xfs_initialize_perag() [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 | 175 struct xfs_perag *pag, in xfs_inobt_insert() argument 1682 error = xfs_ialloc_read_agi(pag->pag_mount, *tpp, pag->pag_agno, &agbp); in xfs_dialloc_try_ag() 1799 xfs_perag_put(pag); in xfs_dialloc() 1804 xfs_perag_put(pag); in xfs_dialloc() 2299 if (!pag) { in xfs_imap() 2311 if (pag && ino != XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)) { in xfs_imap() 2398 if (pag) in xfs_imap() 2399 xfs_perag_put(pag); in xfs_imap() 2614 pag = (*bpp)->b_pag; in xfs_ialloc_read_agi() 2618 pag->pagi_init = 1; in xfs_ialloc_read_agi() [all …]
|
A D | xfs_refcount_btree.c | 31 cur->bc_ag.agbp, cur->bc_ag.pag); in xfs_refcountbt_dup_cursor() 42 struct xfs_perag *pag = agbp->b_pag; in xfs_refcountbt_set_root() local 48 pag->pagf_refcount_level += inc; in xfs_refcountbt_set_root() 207 struct xfs_perag *pag = bp->b_pag; in xfs_refcountbt_verify() local 221 if (pag && pag->pagf_init) { in xfs_refcountbt_verify() 321 struct xfs_perag *pag) in xfs_refcountbt_init_common() argument 334 atomic_inc(&pag->pag_ref); in xfs_refcountbt_init_common() 335 cur->bc_ag.pag = pag; in xfs_refcountbt_init_common() 349 struct xfs_perag *pag) in xfs_refcountbt_init_cursor() argument 365 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 && pag->pagf_init) { 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_refcount.c | 125 agno = cur->bc_ag.pag->pag_agno; in xfs_refcount_get_rec() 957 cur->bc_ag.pag->pag_agno, &tmp); in xfs_refcount_adjust_extents() 976 cur->bc_ag.pag->pag_agno, in xfs_refcount_adjust_extents() 1003 cur->bc_ag.pag->pag_agno, &ext); in xfs_refcount_adjust_extents() 1021 cur->bc_ag.pag->pag_agno, in xfs_refcount_adjust_extents() 1149 struct xfs_perag *pag; in xfs_refcount_finish_one() local 1168 if (rcur != NULL && rcur->bc_ag.pag != pag) { in xfs_refcount_finish_one() 1216 xfs_perag_put(pag); in xfs_refcount_finish_one() 1481 cur->bc_ag.pag->pag_agno, &tmp); in xfs_refcount_adjust_cow_extents() 1509 cur->bc_ag.pag->pag_agno, &ext); in xfs_refcount_adjust_cow_extents() [all …]
|
A D | xfs_alloc.c | 415 ASSERT(args->pag->pagf_freeblks + args->pag->pagf_flcount >= in xfs_alloc_fix_len() 2230 if (pag->pagf_freeblks - pag->pagf_longest < reserved) in xfs_alloc_longest_free_extent() 2231 delta += reserved - (pag->pagf_freeblks - pag->pagf_longest); in xfs_alloc_longest_free_extent() 2242 return pag->pagf_flcount > 0 || pag->pagf_longest > 0; in xfs_alloc_longest_free_extent() 2256 const uint8_t *levels = pag ? pag->pagf_levels : fake_levels; in xfs_alloc_min_freelist() 2287 struct xfs_perag *pag = args->pag; in xfs_alloc_space_available() local 2429 pag->pag_agno, pag->pagf_flcount); in xfs_agfl_reset() 2581 struct xfs_perag *pag = args->pag; in xfs_alloc_fix_freelist() local 2696 targs.pag = pag; in xfs_alloc_fix_freelist() 2792 pag = agbp->b_pag; in xfs_alloc_get_freelist() [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_ialloc_btree.c | 40 cur->bc_ag.agbp, cur->bc_ag.pag, cur->bc_btnum); in xfs_inobt_dup_cursor() 432 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() 462 struct xfs_perag *pag, in xfs_inobt_init_cursor() argument 482 struct xfs_perag *pag, in xfs_inobt_stage_cursor() argument 714 struct xfs_perag *pag, in xfs_inobt_cur() argument 738 struct xfs_perag *pag, in xfs_inobt_count_blocks() argument 762 struct xfs_perag *pag, in xfs_finobt_read_blocks() argument 786 struct xfs_perag *pag, in xfs_finobt_calc_reserves() argument [all …]
|
A D | xfs_alloc_btree.c | 47 cur->bc_ag.pag->pagf_levels[btnum] += inc; in xfs_allocbt_set_root() 114 struct xfs_perag *pag; in xfs_allocbt_update_lastrec() local 158 pag = cur->bc_ag.agbp->b_pag; in xfs_allocbt_update_lastrec() 159 pag->pagf_longest = be32_to_cpu(len); in xfs_allocbt_update_lastrec() 291 struct xfs_perag *pag = bp->b_pag; in xfs_allocbt_verify() local 317 if (pag && pag->pagf_init) { in xfs_allocbt_verify() 474 struct xfs_perag *pag, in xfs_allocbt_init_common() argument 495 atomic_inc(&pag->pag_ref); in xfs_allocbt_init_common() 496 cur->bc_ag.pag = pag; in xfs_allocbt_init_common() 512 struct xfs_perag *pag, in xfs_allocbt_init_cursor() argument [all …]
|
A D | xfs_rmap.c | 98 cur->bc_ag.pag->pag_agno, error, _RET_IP_); in xfs_rmap_update() 140 rcur->bc_ag.pag->pag_agno, error, _RET_IP_); in xfs_rmap_insert() 177 rcur->bc_ag.pag->pag_agno, error, _RET_IP_); in xfs_rmap_delete() 204 xfs_agnumber_t agno = cur->bc_ag.pag->pag_agno; in xfs_rmap_get_rec() 267 cur->bc_ag.pag->pag_agno, rec->rm_startblock, in xfs_rmap_find_left_neighbor_helper() 343 cur->bc_ag.pag->pag_agno, rec->rm_startblock, in xfs_rmap_lookup_le_range_helper() 701 struct xfs_perag *pag, in xfs_rmap_free() argument 955 struct xfs_perag *pag, in xfs_rmap_alloc() argument 2369 struct xfs_perag *pag; in xfs_rmap_finish_one() local 2394 if (rcur != NULL && rcur->bc_ag.pag != pag) { in xfs_rmap_finish_one() [all …]
|
/linux/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 276 struct xfs_perag *pag, in xfs_extent_busy_reuse() argument 499 struct xfs_perag *pag, in xfs_extent_busy_clear_one() argument 514 struct xfs_perag *pag, in xfs_extent_busy_put_pag() argument 519 pag->pagb_gen++; in xfs_extent_busy_put_pag() 524 xfs_perag_put(pag); in xfs_extent_busy_put_pag() 545 if (pag) in xfs_extent_busy_clear() [all …]
|
A D | xfs_icache.c | 204 struct xfs_perag *pag) in xfs_blockgc_queue() argument 222 struct xfs_perag *pag, in xfs_perag_set_inode_tag() argument 261 struct xfs_perag *pag, in xfs_perag_clear_inode_tag() argument 332 struct xfs_perag *pag, in xfs_iget_recycle() argument 449 struct xfs_perag *pag, in xfs_iget_cache_hit() argument 746 xfs_perag_put(pag); in xfs_iget() 763 xfs_perag_put(pag); in xfs_iget() 1014 xfs_perag_put(pag); in xfs_reclaim_inodes_count() 1180 xfs_perag_put(pag); in xfs_blockgc_set_iflag() 1217 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_filestream.c | 43 struct xfs_perag *pag; in xfs_filestream_peek_ag() local 48 xfs_perag_put(pag); in xfs_filestream_peek_ag() 57 struct xfs_perag *pag; in xfs_filestream_get_ag() local 62 xfs_perag_put(pag); in xfs_filestream_get_ag() 71 struct xfs_perag *pag; in xfs_filestream_put_ag() local 75 xfs_perag_put(pag); in xfs_filestream_put_ag() 107 struct xfs_perag *pag; in xfs_filestream_pick_ag() local 128 if (!pag->pagf_init) { in xfs_filestream_pick_ag() 131 xfs_perag_put(pag); in xfs_filestream_pick_ag() 166 xfs_perag_put(pag); in xfs_filestream_pick_ag() [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_fsmap.c | 208 if (!info->pag) in xfs_getfsmap_is_shared() 315 info->pag ? info->pag->pag_agno : NULLAGNUMBER, rec); in xfs_getfsmap_helper() 584 struct xfs_perag *pag; in __xfs_getfsmap_datadev() local 626 info->pag = pag; in __xfs_getfsmap_datadev() 681 info->pag = NULL; in __xfs_getfsmap_datadev() 691 if (info->pag) { in __xfs_getfsmap_datadev() 693 info->pag = NULL; in __xfs_getfsmap_datadev() 694 } else if (pag) { in __xfs_getfsmap_datadev() 696 xfs_perag_put(pag); in __xfs_getfsmap_datadev() 716 info->pag); in xfs_getfsmap_datadev_rmapbt_query() [all …]
|
A D | xfs_inode.c | 1282 xfs_perag_put(pag); in xfs_link() 1881 struct xfs_perag *pag, in xfs_iunlink_lookup_backref() argument 1898 struct xfs_perag *pag, in xfs_iunlink_insert_backref() argument 1927 struct xfs_perag *pag, in xfs_iunlink_add_backref() argument 1950 struct xfs_perag *pag, in xfs_iunlink_change_backref() argument 1990 struct xfs_perag *pag) in xfs_iunlink_init() argument 2011 struct xfs_perag *pag) in xfs_iunlink_destroy() argument 2028 struct xfs_perag *pag, in xfs_iunlink_update_bucket() argument 2215 xfs_perag_put(pag); in xfs_iunlink() 2675 xfs_perag_put(pag); in xfs_ifree() [all …]
|
/linux/fs/xfs/scrub/ |
A D | fscounters.c | 70 struct xfs_perag *pag = NULL; in xchk_fscount_warmup() local 74 for_each_perag(mp, agno, pag) { in xchk_fscount_warmup() 77 if (pag->pagi_init && pag->pagf_init) in xchk_fscount_warmup() 92 if (!pag->pagi_init || !pag->pagf_init) { in xchk_fscount_warmup() 107 if (pag) in xchk_fscount_warmup() 108 xfs_perag_put(pag); in xchk_fscount_warmup() 182 struct xfs_perag *pag; in xchk_fscount_aggregate_agcounts() local 193 for_each_perag(mp, agno, pag) { in xchk_fscount_aggregate_agcounts() 198 if (!pag->pagi_init || !pag->pagf_init) { in xchk_fscount_aggregate_agcounts() 226 if (pag) in xchk_fscount_aggregate_agcounts() [all …]
|
A D | agheader_repair.c | 202 sc->sa.pag->pagf_init = 0; in xrep_agf_init_header() 286 sc->sa.pag); in xrep_agf_calc_from_btrees() 306 struct xfs_perag *pag; in xrep_agf_commit_new() local 317 pag = sc->sa.pag; in xrep_agf_commit_new() 328 pag->pagf_init = 1; in xrep_agf_commit_new() 429 sc->sa.pag->pagf_init = 0; in xrep_agf() 559 if (sc->sa.pag->pagf_init) in xrep_agfl_update_agf() 786 sc->sa.pag->pagi_init = 0; in xrep_agi_init_header() 860 struct xfs_perag *pag; in xrep_agi_commit_new() local 871 pag = sc->sa.pag; in xrep_agi_commit_new() [all …]
|
A D | repair.c | 160 struct xfs_perag *pag, in xrep_ag_has_space() argument 166 pag->pagf_freeblks > xfs_ag_resv_needed(pag, type) + nr_blocks; in xrep_ag_has_space() 180 struct xfs_perag *pag; in xrep_calc_ag_resblks() local 195 pag = xfs_perag_get(mp, sm->sm_agno); in xrep_calc_ag_resblks() 196 if (pag->pagi_init) { in xrep_calc_ag_resblks() 198 icount = pag->pagi_count; in xrep_calc_ag_resblks() 203 icount = pag->pagi_count; in xrep_calc_ag_resblks() 222 xfs_perag_put(pag); in xrep_calc_ag_resblks() 307 xfs_extent_busy_reuse(sc->mp, sc->sa.pag, bno, in xrep_alloc_ag_block() 484 args.agno = sc->sa.pag->pag_agno; in xrep_fix_freelist() [all …]
|
A D | health.c | 130 struct xfs_perag *pag; in xchk_update_health() local 140 pag = xfs_perag_get(sc->mp, sc->sm->sm_agno); in xchk_update_health() 142 xfs_ag_mark_sick(pag, sc->sick_mask); in xchk_update_health() 144 xfs_ag_mark_healthy(pag, sc->sick_mask); in xchk_update_health() 145 xfs_perag_put(pag); in xchk_update_health() 177 struct xfs_perag *pag, in xchk_ag_btree_healthy_enough() argument 225 if (xfs_ag_has_sickness(pag, mask)) { in xchk_ag_btree_healthy_enough()
|
A D | common.c | 412 ASSERT(!sa->pag); in xchk_ag_read_headers() 414 if (!sa->pag) in xchk_ag_read_headers() 470 sa->pag, XFS_BTNUM_BNO); in xchk_ag_btcur_init() 477 sa->pag, XFS_BTNUM_CNT); in xchk_ag_btcur_init() 484 sa->pag, XFS_BTNUM_INO); in xchk_ag_btcur_init() 491 sa->pag, XFS_BTNUM_FINO); in xchk_ag_btcur_init() 498 sa->pag); in xchk_ag_btcur_init() 505 sa->agf_bp, sa->pag); in xchk_ag_btcur_init() 528 if (sa->pag) { in xchk_ag_free() 529 xfs_perag_put(sa->pag); in xchk_ag_free() [all …]
|