Lines Matching refs:cur
26 struct xfs_btree_cur *cur,
29 return M_IGEO(cur->bc_mp)->inobt_mnr[level != 0];
34 struct xfs_btree_cur *cur)
36 return xfs_inobt_init_cursor(cur->bc_mp, cur->bc_tp,
37 cur->bc_ag.agbp, cur->bc_ag.agno,
38 cur->bc_btnum);
43 struct xfs_btree_cur *cur,
47 struct xfs_buf *agbp = cur->bc_ag.agbp;
52 xfs_ialloc_log_agi(cur->bc_tp, agbp, XFS_AGI_ROOT | XFS_AGI_LEVEL);
57 struct xfs_btree_cur *cur,
61 struct xfs_buf *agbp = cur->bc_ag.agbp;
66 xfs_ialloc_log_agi(cur->bc_tp, agbp,
73 struct xfs_btree_cur *cur,
76 struct xfs_buf *agbp = cur->bc_ag.agbp;
79 if (!xfs_sb_version_hasinobtcounts(&cur->bc_mp->m_sb))
82 if (cur->bc_btnum == XFS_BTNUM_FINO)
84 else if (cur->bc_btnum == XFS_BTNUM_INO)
86 xfs_ialloc_log_agi(cur->bc_tp, agbp, XFS_AGI_IBLOCKS);
91 struct xfs_btree_cur *cur,
102 args.tp = cur->bc_tp;
103 args.mp = cur->bc_mp;
105 args.fsbno = XFS_AGB_TO_FSB(args.mp, cur->bc_ag.agno, sbno);
124 xfs_inobt_mod_blockcount(cur, 1);
130 struct xfs_btree_cur *cur,
135 return __xfs_inobt_alloc_block(cur, start, new, stat, XFS_AG_RESV_NONE);
140 struct xfs_btree_cur *cur,
145 if (cur->bc_mp->m_finobt_nores)
146 return xfs_inobt_alloc_block(cur, start, new, stat);
147 return __xfs_inobt_alloc_block(cur, start, new, stat,
153 struct xfs_btree_cur *cur,
157 xfs_inobt_mod_blockcount(cur, -1);
158 return xfs_free_extent(cur->bc_tp,
159 XFS_DADDR_TO_FSB(cur->bc_mp, XFS_BUF_ADDR(bp)), 1,
165 struct xfs_btree_cur *cur,
168 return __xfs_inobt_free_block(cur, bp, XFS_AG_RESV_NONE);
173 struct xfs_btree_cur *cur,
176 if (cur->bc_mp->m_finobt_nores)
177 return xfs_inobt_free_block(cur, bp);
178 return __xfs_inobt_free_block(cur, bp, XFS_AG_RESV_METADATA);
183 struct xfs_btree_cur *cur,
186 return M_IGEO(cur->bc_mp)->inobt_mxr[level != 0];
211 struct xfs_btree_cur *cur,
214 rec->inobt.ir_startino = cpu_to_be32(cur->bc_rec.i.ir_startino);
215 if (xfs_sb_version_hassparseinodes(&cur->bc_mp->m_sb)) {
217 cpu_to_be16(cur->bc_rec.i.ir_holemask);
218 rec->inobt.ir_u.sp.ir_count = cur->bc_rec.i.ir_count;
219 rec->inobt.ir_u.sp.ir_freecount = cur->bc_rec.i.ir_freecount;
223 cpu_to_be32(cur->bc_rec.i.ir_freecount);
225 rec->inobt.ir_free = cpu_to_be64(cur->bc_rec.i.ir_free);
233 struct xfs_btree_cur *cur,
236 struct xfs_agi *agi = cur->bc_ag.agbp->b_addr;
238 ASSERT(cur->bc_ag.agno == be32_to_cpu(agi->agi_seqno));
245 struct xfs_btree_cur *cur,
248 struct xfs_agi *agi = cur->bc_ag.agbp->b_addr;
250 ASSERT(cur->bc_ag.agno == be32_to_cpu(agi->agi_seqno));
256 struct xfs_btree_cur *cur,
260 cur->bc_rec.i.ir_startino;
265 struct xfs_btree_cur *cur,
363 struct xfs_btree_cur *cur,
373 struct xfs_btree_cur *cur,
433 struct xfs_btree_cur *cur;
435 cur = kmem_cache_zalloc(xfs_btree_cur_zone, GFP_NOFS | __GFP_NOFAIL);
436 cur->bc_tp = tp;
437 cur->bc_mp = mp;
438 cur->bc_btnum = btnum;
440 cur->bc_statoff = XFS_STATS_CALC_INDEX(xs_ibt_2);
441 cur->bc_ops = &xfs_inobt_ops;
443 cur->bc_statoff = XFS_STATS_CALC_INDEX(xs_fibt_2);
444 cur->bc_ops = &xfs_finobt_ops;
447 cur->bc_blocklog = mp->m_sb.sb_blocklog;
450 cur->bc_flags |= XFS_BTREE_CRC_BLOCKS;
452 cur->bc_ag.agno = agno;
453 return cur;
465 struct xfs_btree_cur *cur;
468 cur = xfs_inobt_init_common(mp, tp, agno, btnum);
470 cur->bc_nlevels = be32_to_cpu(agi->agi_level);
472 cur->bc_nlevels = be32_to_cpu(agi->agi_free_level);
473 cur->bc_ag.agbp = agbp;
474 return cur;
485 struct xfs_btree_cur *cur;
487 cur = xfs_inobt_init_common(mp, NULL, agno, btnum);
488 xfs_btree_stage_afakeroot(cur, afake);
489 return cur;
498 struct xfs_btree_cur *cur,
503 struct xbtree_afakeroot *afake = cur->bc_ag.afake;
506 ASSERT(cur->bc_flags & XFS_BTREE_STAGING);
508 if (cur->bc_btnum == XFS_BTNUM_INO) {
512 if (xfs_sb_version_hasinobtcounts(&cur->bc_mp->m_sb)) {
517 xfs_btree_commit_afakeroot(cur, tp, agbp, &xfs_inobt_ops);
522 if (xfs_sb_version_hasinobtcounts(&cur->bc_mp->m_sb)) {
527 xfs_btree_commit_afakeroot(cur, tp, agbp, &xfs_finobt_ops);
664 struct xfs_btree_cur *cur;
674 cur = xfs_inobt_init_cursor(mp, tp, *agi_bpp, agno, which);
675 if (!cur) {
680 *curpp = cur;
693 struct xfs_btree_cur *cur = NULL;
696 error = xfs_inobt_cur(mp, tp, agno, btnum, &cur, &agbp);
700 error = xfs_btree_count_blocks(cur, tree_blocks);
701 xfs_btree_del_cursor(cur, error);