Lines Matching refs:pag
107 if (!xfs_verify_agino(cur->bc_ag.pag, irec->ir_startino)) in xfs_inobt_check_irec()
109 if (!xfs_verify_agino(cur->bc_ag.pag, in xfs_inobt_check_irec()
140 cur->bc_ag.pag->pag_agno, fa); in xfs_inobt_complain_bad_rec()
198 struct xfs_perag *pag, in xfs_inobt_insert() argument
210 cur = xfs_inobt_init_cursor(pag, tp, agbp, btnum); in xfs_inobt_insert()
270 ASSERT(freecount == cur->bc_ag.pag->pagi_freecount); in xfs_check_agi_freecount()
542 struct xfs_perag *pag, in xfs_inobt_insert_sprec() argument
549 struct xfs_mount *mp = pag->pag_mount; in xfs_inobt_insert_sprec()
555 cur = xfs_inobt_init_cursor(pag, tp, agbp, btnum); in xfs_inobt_insert_sprec()
602 trace_xfs_irec_merge_pre(mp, pag->pag_agno, rec.ir_startino, in xfs_inobt_insert_sprec()
609 trace_xfs_irec_merge_post(mp, pag->pag_agno, nrec->ir_startino, in xfs_inobt_insert_sprec()
637 struct xfs_perag *pag, in xfs_ialloc_ag_alloc() argument
659 args.pag = pag; in xfs_ialloc_ag_alloc()
712 XFS_AGB_TO_FSB(args.mp, pag->pag_agno, in xfs_ialloc_ag_alloc()
755 XFS_AGB_TO_FSB(args.mp, pag->pag_agno, in xfs_ialloc_ag_alloc()
768 XFS_AGB_TO_FSB(args.mp, pag->pag_agno, in xfs_ialloc_ag_alloc()
804 XFS_AGB_TO_FSB(args.mp, pag->pag_agno, in xfs_ialloc_ag_alloc()
828 error = xfs_ialloc_inode_init(args.mp, tp, NULL, newlen, pag->pag_agno, in xfs_ialloc_ag_alloc()
855 error = xfs_inobt_insert_sprec(pag, tp, agbp, in xfs_ialloc_ag_alloc()
860 XFS_AGINO_TO_INO(args.mp, pag->pag_agno, in xfs_ialloc_ag_alloc()
880 error = xfs_inobt_insert_sprec(pag, tp, agbp, in xfs_ialloc_ag_alloc()
887 error = xfs_inobt_insert(pag, tp, agbp, newino, newlen, in xfs_ialloc_ag_alloc()
893 error = xfs_inobt_insert(pag, tp, agbp, newino, in xfs_ialloc_ag_alloc()
905 pag->pagi_freecount += newlen; in xfs_ialloc_ag_alloc()
906 pag->pagi_count += newlen; in xfs_ialloc_ag_alloc()
1005 struct xfs_perag *pag, in xfs_dialloc_ag_inobt() argument
1023 ASSERT(xfs_perag_initialised_agi(pag)); in xfs_dialloc_ag_inobt()
1024 ASSERT(xfs_perag_allows_inodes(pag)); in xfs_dialloc_ag_inobt()
1025 ASSERT(pag->pagi_freecount > 0); in xfs_dialloc_ag_inobt()
1028 cur = xfs_inobt_init_cursor(pag, tp, agbp, XFS_BTNUM_INO); in xfs_dialloc_ag_inobt()
1043 if (pagno == pag->pag_agno) { in xfs_dialloc_ag_inobt()
1085 pag->pagl_pagino == pagino && in xfs_dialloc_ag_inobt()
1086 pag->pagl_leftrec != NULLAGINO && in xfs_dialloc_ag_inobt()
1087 pag->pagl_rightrec != NULLAGINO) { in xfs_dialloc_ag_inobt()
1088 error = xfs_ialloc_get_rec(tcur, pag->pagl_leftrec, in xfs_dialloc_ag_inobt()
1093 error = xfs_ialloc_get_rec(cur, pag->pagl_rightrec, in xfs_dialloc_ag_inobt()
1129 pag->pagl_leftrec = trec.ir_startino; in xfs_dialloc_ag_inobt()
1130 pag->pagl_rightrec = rec.ir_startino; in xfs_dialloc_ag_inobt()
1131 pag->pagl_pagino = pagino; in xfs_dialloc_ag_inobt()
1140 pag->pagl_leftrec = trec.ir_startino; in xfs_dialloc_ag_inobt()
1141 pag->pagl_rightrec = rec.ir_startino; in xfs_dialloc_ag_inobt()
1142 pag->pagl_pagino = pagino; in xfs_dialloc_ag_inobt()
1164 pag->pagl_leftrec = trec.ir_startino; in xfs_dialloc_ag_inobt()
1165 pag->pagl_rightrec = rec.ir_startino; in xfs_dialloc_ag_inobt()
1166 pag->pagl_pagino = pagino; in xfs_dialloc_ag_inobt()
1176 pag->pagl_pagino = NULLAGINO; in xfs_dialloc_ag_inobt()
1177 pag->pagl_leftrec = NULLAGINO; in xfs_dialloc_ag_inobt()
1178 pag->pagl_rightrec = NULLAGINO; in xfs_dialloc_ag_inobt()
1246 ino = XFS_AGINO_TO_INO(mp, pag->pag_agno, rec.ir_startino + offset); in xfs_dialloc_ag_inobt()
1254 pag->pagi_freecount--; in xfs_dialloc_ag_inobt()
1453 struct xfs_perag *pag, in xfs_dialloc_ag() argument
1472 return xfs_dialloc_ag_inobt(pag, tp, agbp, parent, inop); in xfs_dialloc_ag()
1481 cur = xfs_inobt_init_cursor(pag, tp, agbp, XFS_BTNUM_FINO); in xfs_dialloc_ag()
1492 if (pag->pag_agno == pagno) in xfs_dialloc_ag()
1504 ino = XFS_AGINO_TO_INO(mp, pag->pag_agno, rec.ir_startino + offset); in xfs_dialloc_ag()
1524 icur = xfs_inobt_init_cursor(pag, tp, agbp, XFS_BTNUM_INO); in xfs_dialloc_ag()
1540 pag->pagi_freecount--; in xfs_dialloc_ag()
1603 struct xfs_perag *pag, in xfs_dialloc_good_ag() argument
1615 if (!pag) in xfs_dialloc_good_ag()
1617 if (!xfs_perag_allows_inodes(pag)) in xfs_dialloc_good_ag()
1620 if (!xfs_perag_initialised_agi(pag)) { in xfs_dialloc_good_ag()
1621 error = xfs_ialloc_read_agi(pag, tp, NULL); in xfs_dialloc_good_ag()
1626 if (pag->pagi_freecount) in xfs_dialloc_good_ag()
1631 if (!xfs_perag_initialised_agf(pag)) { in xfs_dialloc_good_ag()
1632 error = xfs_alloc_read_agf(pag, tp, flags, NULL); in xfs_dialloc_good_ag()
1664 longest = pag->pagf_longest; in xfs_dialloc_good_ag()
1666 longest = pag->pagf_flcount > 0; in xfs_dialloc_good_ag()
1669 if (pag->pagf_freeblks < needspace + ineed || longest < ineed) in xfs_dialloc_good_ag()
1676 struct xfs_perag *pag, in xfs_dialloc_try_ag() argument
1690 error = xfs_ialloc_read_agi(pag, *tpp, &agbp); in xfs_dialloc_try_ag()
1694 if (!pag->pagi_freecount) { in xfs_dialloc_try_ag()
1700 error = xfs_ialloc_ag_alloc(pag, *tpp, agbp); in xfs_dialloc_try_ag()
1709 ASSERT(pag->pagi_freecount > 0); in xfs_dialloc_try_ag()
1716 error = xfs_dialloc_ag(pag, *tpp, agbp, parent, &ino); in xfs_dialloc_try_ag()
1745 struct xfs_perag *pag; in xfs_dialloc() local
1801 for_each_perag_wrap_at(mp, start_agno, mp->m_maxagi, agno, pag) { in xfs_dialloc()
1802 if (xfs_dialloc_good_ag(pag, *tpp, mode, flags, ok_alloc)) { in xfs_dialloc()
1803 error = xfs_dialloc_try_ag(pag, tpp, parent, in xfs_dialloc()
1815 if (pag) in xfs_dialloc()
1816 xfs_perag_rele(pag); in xfs_dialloc()
1918 struct xfs_perag *pag, in xfs_difree_inobt() argument
1925 struct xfs_mount *mp = pag->pag_mount; in xfs_difree_inobt()
1940 cur = xfs_inobt_init_cursor(pag, tp, agbp, XFS_BTNUM_INO); in xfs_difree_inobt()
1988 xic->first_ino = XFS_AGINO_TO_INO(mp, pag->pag_agno, in xfs_difree_inobt()
2001 pag->pagi_freecount -= ilen - 1; in xfs_difree_inobt()
2002 pag->pagi_count -= ilen; in xfs_difree_inobt()
2012 error = xfs_difree_inode_chunk(tp, pag->pag_agno, &rec); in xfs_difree_inobt()
2030 pag->pagi_freecount++; in xfs_difree_inobt()
2052 struct xfs_perag *pag, in xfs_difree_finobt() argument
2058 struct xfs_mount *mp = pag->pag_mount; in xfs_difree_finobt()
2065 cur = xfs_inobt_init_cursor(pag, tp, agbp, XFS_BTNUM_FINO); in xfs_difree_finobt()
2163 struct xfs_perag *pag, in xfs_difree() argument
2178 if (pag->pag_agno != XFS_INO_TO_AGNO(mp, inode)) { in xfs_difree()
2180 __func__, XFS_INO_TO_AGNO(mp, inode), pag->pag_agno); in xfs_difree()
2185 if (inode != XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)) { in xfs_difree()
2188 (unsigned long long)XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)); in xfs_difree()
2202 error = xfs_ialloc_read_agi(pag, tp, &agbp); in xfs_difree()
2212 error = xfs_difree_inobt(pag, tp, agbp, agino, xic, &rec); in xfs_difree()
2220 error = xfs_difree_finobt(pag, tp, agbp, agino, &rec); in xfs_difree()
2233 struct xfs_perag *pag, in xfs_imap_lookup() argument
2241 struct xfs_mount *mp = pag->pag_mount; in xfs_imap_lookup()
2248 error = xfs_ialloc_read_agi(pag, tp, &agbp); in xfs_imap_lookup()
2252 __func__, error, pag->pag_agno); in xfs_imap_lookup()
2262 cur = xfs_inobt_init_cursor(pag, tp, agbp, XFS_BTNUM_INO); in xfs_imap_lookup()
2296 struct xfs_perag *pag, in xfs_imap() argument
2302 struct xfs_mount *mp = pag->pag_mount; in xfs_imap()
2319 ino != XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)) { in xfs_imap()
2334 if (ino != XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)) { in xfs_imap()
2338 XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)); in xfs_imap()
2353 error = xfs_imap_lookup(pag, tp, agino, agbno, in xfs_imap()
2368 imap->im_blkno = XFS_AGB_TO_DADDR(mp, pag->pag_agno, agbno); in xfs_imap()
2384 error = xfs_imap_lookup(pag, tp, agino, agbno, in xfs_imap()
2398 imap->im_blkno = XFS_AGB_TO_DADDR(mp, pag->pag_agno, cluster_agbno); in xfs_imap()
2589 struct xfs_perag *pag, in xfs_read_agi() argument
2593 struct xfs_mount *mp = pag->pag_mount; in xfs_read_agi()
2596 trace_xfs_read_agi(pag->pag_mount, pag->pag_agno); in xfs_read_agi()
2599 XFS_AG_DADDR(mp, pag->pag_agno, XFS_AGI_DADDR(mp)), in xfs_read_agi()
2616 struct xfs_perag *pag, in xfs_ialloc_read_agi() argument
2624 trace_xfs_ialloc_read_agi(pag->pag_mount, pag->pag_agno); in xfs_ialloc_read_agi()
2626 error = xfs_read_agi(pag, tp, &agibp); in xfs_ialloc_read_agi()
2631 if (!xfs_perag_initialised_agi(pag)) { in xfs_ialloc_read_agi()
2632 pag->pagi_freecount = be32_to_cpu(agi->agi_freecount); in xfs_ialloc_read_agi()
2633 pag->pagi_count = be32_to_cpu(agi->agi_count); in xfs_ialloc_read_agi()
2634 set_bit(XFS_AGSTATE_AGI_INIT, &pag->pag_opstate); in xfs_ialloc_read_agi()
2641 ASSERT(pag->pagi_freecount == be32_to_cpu(agi->agi_freecount) || in xfs_ialloc_read_agi()
2642 xfs_is_shutdown(pag->pag_mount)); in xfs_ialloc_read_agi()
2965 struct xfs_perag *pag, in xfs_ialloc_check_shrink() argument
2976 if (!xfs_has_sparseinodes(pag->pag_mount)) in xfs_ialloc_check_shrink()
2979 cur = xfs_inobt_init_cursor(pag, tp, agibp, XFS_BTNUM_INO); in xfs_ialloc_check_shrink()
2982 agino = XFS_AGB_TO_AGINO(pag->pag_mount, new_length); in xfs_ialloc_check_shrink()