Lines Matching defs:cur
54 struct xfs_btree_cur *cur)
56 return xfs_rmapbt_init_cursor(cur->bc_mp, cur->bc_tp,
57 cur->bc_ag.agbp, cur->bc_ag.pag);
62 struct xfs_btree_cur *cur,
66 struct xfs_buf *agbp = cur->bc_ag.agbp;
68 int btnum = cur->bc_btnum;
74 cur->bc_ag.pag->pagf_levels[btnum] += inc;
76 xfs_alloc_log_agf(cur->bc_tp, agbp, XFS_AGF_ROOTS | XFS_AGF_LEVELS);
81 struct xfs_btree_cur *cur,
86 struct xfs_buf *agbp = cur->bc_ag.agbp;
88 struct xfs_perag *pag = cur->bc_ag.pag;
93 error = xfs_alloc_get_freelist(pag, cur->bc_tp, cur->bc_ag.agbp,
98 trace_xfs_rmapbt_alloc_block(cur->bc_mp, pag->pag_agno, bno, 1);
104 xfs_extent_busy_reuse(cur->bc_mp, pag, bno, 1, false);
108 xfs_alloc_log_agf(cur->bc_tp, agbp, XFS_AGF_RMAP_BLOCKS);
110 xfs_ag_resv_rmapbt_alloc(cur->bc_mp, pag->pag_agno);
118 struct xfs_btree_cur *cur,
121 struct xfs_buf *agbp = cur->bc_ag.agbp;
123 struct xfs_perag *pag = cur->bc_ag.pag;
127 bno = xfs_daddr_to_agbno(cur->bc_mp, xfs_buf_daddr(bp));
128 trace_xfs_rmapbt_free_block(cur->bc_mp, pag->pag_agno,
131 xfs_alloc_log_agf(cur->bc_tp, agbp, XFS_AGF_RMAP_BLOCKS);
132 error = xfs_alloc_put_freelist(pag, cur->bc_tp, agbp, NULL, bno, 1);
136 xfs_extent_busy_insert(cur->bc_tp, pag, bno, 1,
145 struct xfs_btree_cur *cur,
148 return cur->bc_mp->m_rmap_mnr[level != 0];
153 struct xfs_btree_cur *cur,
156 return cur->bc_mp->m_rmap_mxr[level != 0];
210 struct xfs_btree_cur *cur,
213 rec->rmap.rm_startblock = cpu_to_be32(cur->bc_rec.r.rm_startblock);
214 rec->rmap.rm_blockcount = cpu_to_be32(cur->bc_rec.r.rm_blockcount);
215 rec->rmap.rm_owner = cpu_to_be64(cur->bc_rec.r.rm_owner);
217 xfs_rmap_irec_offset_pack(&cur->bc_rec.r));
222 struct xfs_btree_cur *cur,
225 struct xfs_agf *agf = cur->bc_ag.agbp->b_addr;
227 ASSERT(cur->bc_ag.pag->pag_agno == be32_to_cpu(agf->agf_seqno));
229 ptr->s = agf->agf_roots[cur->bc_btnum];
244 struct xfs_btree_cur *cur,
247 struct xfs_rmap_irec *rec = &cur->bc_rec.r;
274 struct xfs_btree_cur *cur,
401 struct xfs_btree_cur *cur,
431 struct xfs_btree_cur *cur,
461 struct xfs_btree_cur *cur,
507 struct xfs_btree_cur *cur;
510 cur = xfs_btree_alloc_cursor(mp, tp, XFS_BTNUM_RMAP,
512 cur->bc_flags = XFS_BTREE_CRC_BLOCKS | XFS_BTREE_OVERLAPPING;
513 cur->bc_statoff = XFS_STATS_CALC_INDEX(xs_rmap_2);
514 cur->bc_ops = &xfs_rmapbt_ops;
516 cur->bc_ag.pag = xfs_perag_hold(pag);
517 return cur;
529 struct xfs_btree_cur *cur;
531 cur = xfs_rmapbt_init_common(mp, tp, pag);
532 cur->bc_nlevels = be32_to_cpu(agf->agf_levels[XFS_BTNUM_RMAP]);
533 cur->bc_ag.agbp = agbp;
534 return cur;
544 struct xfs_btree_cur *cur;
546 cur = xfs_rmapbt_init_common(mp, NULL, pag);
547 xfs_btree_stage_afakeroot(cur, afake);
548 return cur;
557 struct xfs_btree_cur *cur,
562 struct xbtree_afakeroot *afake = cur->bc_ag.afake;
564 ASSERT(cur->bc_flags & XFS_BTREE_STAGING);
566 agf->agf_roots[cur->bc_btnum] = cpu_to_be32(afake->af_root);
567 agf->agf_levels[cur->bc_btnum] = cpu_to_be32(afake->af_levels);
571 xfs_btree_commit_afakeroot(cur, tp, agbp, &xfs_rmapbt_ops);