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