Lines Matching refs:pag

108 	xfs_agnumber_t			agno = cur->bc_ag.pag->pag_agno;  in xfs_inobt_get_rec()
175 struct xfs_perag *pag, in xfs_inobt_insert() argument
185 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, btnum); in xfs_inobt_insert()
245 ASSERT(freecount == cur->bc_ag.pag->pagi_freecount); in xfs_check_agi_freecount()
520 struct xfs_perag *pag, in xfs_inobt_insert_sprec() argument
530 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, btnum); in xfs_inobt_insert_sprec()
577 trace_xfs_irec_merge_pre(mp, pag->pag_agno, rec.ir_startino, in xfs_inobt_insert_sprec()
584 trace_xfs_irec_merge_post(mp, pag->pag_agno, nrec->ir_startino, in xfs_inobt_insert_sprec()
614 struct xfs_perag *pag) in xfs_ialloc_ag_alloc() argument
665 args.fsbno = XFS_AGB_TO_FSB(args.mp, pag->pag_agno, args.agbno); in xfs_ialloc_ag_alloc()
725 args.fsbno = XFS_AGB_TO_FSB(args.mp, pag->pag_agno, args.agbno); in xfs_ialloc_ag_alloc()
746 args.fsbno = XFS_AGB_TO_FSB(args.mp, pag->pag_agno, args.agbno); in xfs_ialloc_ag_alloc()
762 args.fsbno = XFS_AGB_TO_FSB(args.mp, pag->pag_agno, args.agbno); in xfs_ialloc_ag_alloc()
807 error = xfs_ialloc_inode_init(args.mp, tp, NULL, newlen, pag->pag_agno, in xfs_ialloc_ag_alloc()
834 error = xfs_inobt_insert_sprec(args.mp, tp, agbp, pag, in xfs_ialloc_ag_alloc()
839 XFS_AGINO_TO_INO(args.mp, pag->pag_agno, in xfs_ialloc_ag_alloc()
859 error = xfs_inobt_insert_sprec(args.mp, tp, agbp, pag, in xfs_ialloc_ag_alloc()
866 error = xfs_inobt_insert(args.mp, tp, agbp, pag, newino, newlen, in xfs_ialloc_ag_alloc()
872 error = xfs_inobt_insert(args.mp, tp, agbp, pag, newino, in xfs_ialloc_ag_alloc()
884 pag->pagi_freecount += newlen; in xfs_ialloc_ag_alloc()
885 pag->pagi_count += newlen; in xfs_ialloc_ag_alloc()
986 struct xfs_perag *pag, in xfs_dialloc_ag_inobt() argument
1002 ASSERT(pag->pagi_init); in xfs_dialloc_ag_inobt()
1003 ASSERT(pag->pagi_inodeok); in xfs_dialloc_ag_inobt()
1004 ASSERT(pag->pagi_freecount > 0); in xfs_dialloc_ag_inobt()
1007 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, XFS_BTNUM_INO); in xfs_dialloc_ag_inobt()
1022 if (pagno == pag->pag_agno) { in xfs_dialloc_ag_inobt()
1064 pag->pagl_pagino == pagino && in xfs_dialloc_ag_inobt()
1065 pag->pagl_leftrec != NULLAGINO && in xfs_dialloc_ag_inobt()
1066 pag->pagl_rightrec != NULLAGINO) { in xfs_dialloc_ag_inobt()
1067 error = xfs_ialloc_get_rec(tcur, pag->pagl_leftrec, in xfs_dialloc_ag_inobt()
1072 error = xfs_ialloc_get_rec(cur, pag->pagl_rightrec, in xfs_dialloc_ag_inobt()
1108 pag->pagl_leftrec = trec.ir_startino; in xfs_dialloc_ag_inobt()
1109 pag->pagl_rightrec = rec.ir_startino; in xfs_dialloc_ag_inobt()
1110 pag->pagl_pagino = pagino; in xfs_dialloc_ag_inobt()
1119 pag->pagl_leftrec = trec.ir_startino; in xfs_dialloc_ag_inobt()
1120 pag->pagl_rightrec = rec.ir_startino; in xfs_dialloc_ag_inobt()
1121 pag->pagl_pagino = pagino; in xfs_dialloc_ag_inobt()
1143 pag->pagl_leftrec = trec.ir_startino; in xfs_dialloc_ag_inobt()
1144 pag->pagl_rightrec = rec.ir_startino; in xfs_dialloc_ag_inobt()
1145 pag->pagl_pagino = pagino; in xfs_dialloc_ag_inobt()
1155 pag->pagl_pagino = NULLAGINO; in xfs_dialloc_ag_inobt()
1156 pag->pagl_leftrec = NULLAGINO; in xfs_dialloc_ag_inobt()
1157 pag->pagl_rightrec = NULLAGINO; in xfs_dialloc_ag_inobt()
1225 ino = XFS_AGINO_TO_INO(mp, pag->pag_agno, rec.ir_startino + offset); in xfs_dialloc_ag_inobt()
1233 pag->pagi_freecount--; in xfs_dialloc_ag_inobt()
1434 struct xfs_perag *pag, in xfs_dialloc_ag() argument
1451 return xfs_dialloc_ag_inobt(tp, agbp, pag, parent, inop); in xfs_dialloc_ag()
1460 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, XFS_BTNUM_FINO); in xfs_dialloc_ag()
1471 if (pag->pag_agno == pagno) in xfs_dialloc_ag()
1483 ino = XFS_AGINO_TO_INO(mp, pag->pag_agno, rec.ir_startino + offset); in xfs_dialloc_ag()
1503 icur = xfs_inobt_init_cursor(mp, tp, agbp, pag, XFS_BTNUM_INO); in xfs_dialloc_ag()
1519 pag->pagi_freecount--; in xfs_dialloc_ag()
1598 struct xfs_perag *pag, in xfs_dialloc_good_ag() argument
1609 if (!pag->pagi_inodeok) in xfs_dialloc_good_ag()
1612 if (!pag->pagi_init) { in xfs_dialloc_good_ag()
1613 error = xfs_ialloc_pagi_init(mp, tp, pag->pag_agno); in xfs_dialloc_good_ag()
1618 if (pag->pagi_freecount) in xfs_dialloc_good_ag()
1623 if (!pag->pagf_init) { in xfs_dialloc_good_ag()
1624 error = xfs_alloc_pagf_init(mp, tp, pag->pag_agno, flags); in xfs_dialloc_good_ag()
1656 longest = pag->pagf_longest; in xfs_dialloc_good_ag()
1658 longest = pag->pagf_flcount > 0; in xfs_dialloc_good_ag()
1661 if (pag->pagf_freeblks < needspace + ineed || longest < ineed) in xfs_dialloc_good_ag()
1669 struct xfs_perag *pag, in xfs_dialloc_try_ag() argument
1682 error = xfs_ialloc_read_agi(pag->pag_mount, *tpp, pag->pag_agno, &agbp); in xfs_dialloc_try_ag()
1686 if (!pag->pagi_freecount) { in xfs_dialloc_try_ag()
1692 error = xfs_ialloc_ag_alloc(*tpp, agbp, pag); in xfs_dialloc_try_ag()
1701 ASSERT(pag->pagi_freecount > 0); in xfs_dialloc_try_ag()
1708 error = xfs_dialloc_ag(*tpp, agbp, pag, parent, &ino); in xfs_dialloc_try_ag()
1737 struct xfs_perag *pag; in xfs_dialloc() local
1778 pag = xfs_perag_get(mp, agno); in xfs_dialloc()
1779 if (xfs_dialloc_good_ag(*tpp, pag, mode, flags, ok_alloc)) { in xfs_dialloc()
1780 error = xfs_dialloc_try_ag(tpp, pag, parent, in xfs_dialloc()
1799 xfs_perag_put(pag); in xfs_dialloc()
1804 xfs_perag_put(pag); in xfs_dialloc()
1891 struct xfs_perag *pag, in xfs_difree_inobt() argument
1910 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, XFS_BTNUM_INO); in xfs_difree_inobt()
1957 struct xfs_perag *pag = agbp->b_pag; in xfs_difree_inobt() local
1960 xic->first_ino = XFS_AGINO_TO_INO(mp, pag->pag_agno, in xfs_difree_inobt()
1973 pag->pagi_freecount -= ilen - 1; in xfs_difree_inobt()
1974 pag->pagi_count -= ilen; in xfs_difree_inobt()
1984 xfs_difree_inode_chunk(tp, pag->pag_agno, &rec); in xfs_difree_inobt()
2000 pag->pagi_freecount++; in xfs_difree_inobt()
2025 struct xfs_perag *pag, in xfs_difree_finobt() argument
2035 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, XFS_BTNUM_FINO); in xfs_difree_finobt()
2133 struct xfs_perag *pag, in xfs_difree() argument
2148 if (pag->pag_agno != XFS_INO_TO_AGNO(mp, inode)) { in xfs_difree()
2150 __func__, XFS_INO_TO_AGNO(mp, inode), pag->pag_agno); in xfs_difree()
2155 if (inode != XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)) { in xfs_difree()
2158 (unsigned long long)XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)); in xfs_difree()
2172 error = xfs_ialloc_read_agi(mp, tp, pag->pag_agno, &agbp); in xfs_difree()
2182 error = xfs_difree_inobt(mp, tp, agbp, pag, agino, xic, &rec); in xfs_difree()
2190 error = xfs_difree_finobt(mp, tp, agbp, pag, agino, &rec); in xfs_difree()
2205 struct xfs_perag *pag, in xfs_imap_lookup() argument
2218 error = xfs_ialloc_read_agi(mp, tp, pag->pag_agno, &agbp); in xfs_imap_lookup()
2222 __func__, error, pag->pag_agno); in xfs_imap_lookup()
2232 cur = xfs_inobt_init_cursor(mp, tp, agbp, pag, XFS_BTNUM_INO); in xfs_imap_lookup()
2279 struct xfs_perag *pag; in xfs_imap() local
2286 pag = xfs_perag_get(mp, XFS_INO_TO_AGNO(mp, ino)); in xfs_imap()
2289 if (!pag || agbno >= mp->m_sb.sb_agblocks || in xfs_imap()
2290 ino != XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)) { in xfs_imap()
2299 if (!pag) { in xfs_imap()
2311 if (pag && ino != XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)) { in xfs_imap()
2315 XFS_AGINO_TO_INO(mp, pag->pag_agno, agino)); in xfs_imap()
2330 error = xfs_imap_lookup(mp, tp, pag, agino, agbno, in xfs_imap()
2345 imap->im_blkno = XFS_AGB_TO_DADDR(mp, pag->pag_agno, agbno); in xfs_imap()
2362 error = xfs_imap_lookup(mp, tp, pag, agino, agbno, in xfs_imap()
2376 imap->im_blkno = XFS_AGB_TO_DADDR(mp, pag->pag_agno, cluster_agbno); in xfs_imap()
2398 if (pag) in xfs_imap()
2399 xfs_perag_put(pag); in xfs_imap()
2604 struct xfs_perag *pag; /* per allocation group data */ in xfs_ialloc_read_agi() local
2614 pag = (*bpp)->b_pag; in xfs_ialloc_read_agi()
2615 if (!pag->pagi_init) { in xfs_ialloc_read_agi()
2616 pag->pagi_freecount = be32_to_cpu(agi->agi_freecount); in xfs_ialloc_read_agi()
2617 pag->pagi_count = be32_to_cpu(agi->agi_count); in xfs_ialloc_read_agi()
2618 pag->pagi_init = 1; in xfs_ialloc_read_agi()
2625 ASSERT(pag->pagi_freecount == be32_to_cpu(agi->agi_freecount) || in xfs_ialloc_read_agi()
2948 struct xfs_perag *pag; in xfs_ialloc_check_shrink() local
2956 pag = xfs_perag_get(mp, agno); in xfs_ialloc_check_shrink()
2957 cur = xfs_inobt_init_cursor(mp, tp, agibp, pag, XFS_BTNUM_INO); in xfs_ialloc_check_shrink()
2980 xfs_perag_put(pag); in xfs_ialloc_check_shrink()