Lines Matching refs:cur
52 struct xfs_btree_cur *cur)
54 return xfs_rmapbt_init_cursor(cur->bc_mp, cur->bc_tp,
55 cur->bc_ag.agbp, cur->bc_ag.agno);
60 struct xfs_btree_cur *cur,
64 struct xfs_buf *agbp = cur->bc_ag.agbp;
66 int btnum = cur->bc_btnum;
75 xfs_alloc_log_agf(cur->bc_tp, agbp, XFS_AGF_ROOTS | XFS_AGF_LEVELS);
80 struct xfs_btree_cur *cur,
85 struct xfs_buf *agbp = cur->bc_ag.agbp;
91 error = xfs_alloc_get_freelist(cur->bc_tp, cur->bc_ag.agbp,
96 trace_xfs_rmapbt_alloc_block(cur->bc_mp, cur->bc_ag.agno,
103 xfs_extent_busy_reuse(cur->bc_mp, cur->bc_ag.agno, bno, 1,
106 xfs_trans_agbtree_delta(cur->bc_tp, 1);
109 xfs_alloc_log_agf(cur->bc_tp, agbp, XFS_AGF_RMAP_BLOCKS);
111 xfs_ag_resv_rmapbt_alloc(cur->bc_mp, cur->bc_ag.agno);
119 struct xfs_btree_cur *cur,
122 struct xfs_buf *agbp = cur->bc_ag.agbp;
128 bno = xfs_daddr_to_agbno(cur->bc_mp, XFS_BUF_ADDR(bp));
129 trace_xfs_rmapbt_free_block(cur->bc_mp, cur->bc_ag.agno,
132 xfs_alloc_log_agf(cur->bc_tp, agbp, XFS_AGF_RMAP_BLOCKS);
133 error = xfs_alloc_put_freelist(cur->bc_tp, agbp, NULL, bno, 1);
137 xfs_extent_busy_insert(cur->bc_tp, be32_to_cpu(agf->agf_seqno), bno, 1,
139 xfs_trans_agbtree_delta(cur->bc_tp, -1);
141 pag = cur->bc_ag.agbp->b_pag;
148 struct xfs_btree_cur *cur,
151 return cur->bc_mp->m_rmap_mnr[level != 0];
156 struct xfs_btree_cur *cur,
159 return cur->bc_mp->m_rmap_mxr[level != 0];
203 struct xfs_btree_cur *cur,
206 rec->rmap.rm_startblock = cpu_to_be32(cur->bc_rec.r.rm_startblock);
207 rec->rmap.rm_blockcount = cpu_to_be32(cur->bc_rec.r.rm_blockcount);
208 rec->rmap.rm_owner = cpu_to_be64(cur->bc_rec.r.rm_owner);
210 xfs_rmap_irec_offset_pack(&cur->bc_rec.r));
215 struct xfs_btree_cur *cur,
218 struct xfs_agf *agf = cur->bc_ag.agbp->b_addr;
220 ASSERT(cur->bc_ag.agno == be32_to_cpu(agf->agf_seqno));
222 ptr->s = agf->agf_roots[cur->bc_btnum];
227 struct xfs_btree_cur *cur,
230 struct xfs_rmap_irec *rec = &cur->bc_rec.r;
257 struct xfs_btree_cur *cur,
372 struct xfs_btree_cur *cur,
402 struct xfs_btree_cur *cur,
457 struct xfs_btree_cur *cur;
459 cur = kmem_cache_zalloc(xfs_btree_cur_zone, GFP_NOFS | __GFP_NOFAIL);
460 cur->bc_tp = tp;
461 cur->bc_mp = mp;
463 cur->bc_btnum = XFS_BTNUM_RMAP;
464 cur->bc_flags = XFS_BTREE_CRC_BLOCKS | XFS_BTREE_OVERLAPPING;
465 cur->bc_blocklog = mp->m_sb.sb_blocklog;
466 cur->bc_statoff = XFS_STATS_CALC_INDEX(xs_rmap_2);
467 cur->bc_ag.agno = agno;
468 cur->bc_ops = &xfs_rmapbt_ops;
470 return cur;
482 struct xfs_btree_cur *cur;
484 cur = xfs_rmapbt_init_common(mp, tp, agno);
485 cur->bc_nlevels = be32_to_cpu(agf->agf_levels[XFS_BTNUM_RMAP]);
486 cur->bc_ag.agbp = agbp;
487 return cur;
497 struct xfs_btree_cur *cur;
499 cur = xfs_rmapbt_init_common(mp, NULL, agno);
500 xfs_btree_stage_afakeroot(cur, afake);
501 return cur;
510 struct xfs_btree_cur *cur,
515 struct xbtree_afakeroot *afake = cur->bc_ag.afake;
517 ASSERT(cur->bc_flags & XFS_BTREE_STAGING);
519 agf->agf_roots[cur->bc_btnum] = cpu_to_be32(afake->af_root);
520 agf->agf_levels[cur->bc_btnum] = cpu_to_be32(afake->af_levels);
524 xfs_btree_commit_afakeroot(cur, tp, agbp, &xfs_rmapbt_ops);