Lines Matching refs:cur
38 struct xfs_btree_cur *cur) in xfs_allocbt_dup_cursor() argument
40 return xfs_allocbt_init_cursor(cur->bc_mp, cur->bc_tp, in xfs_allocbt_dup_cursor()
41 cur->bc_private.a.agbp, cur->bc_private.a.agno, in xfs_allocbt_dup_cursor()
42 cur->bc_btnum); in xfs_allocbt_dup_cursor()
47 struct xfs_btree_cur *cur, in xfs_allocbt_set_root() argument
51 struct xfs_buf *agbp = cur->bc_private.a.agbp; in xfs_allocbt_set_root()
54 int btnum = cur->bc_btnum; in xfs_allocbt_set_root()
55 struct xfs_perag *pag = xfs_perag_get(cur->bc_mp, seqno); in xfs_allocbt_set_root()
64 xfs_alloc_log_agf(cur->bc_tp, agbp, XFS_AGF_ROOTS | XFS_AGF_LEVELS); in xfs_allocbt_set_root()
69 struct xfs_btree_cur *cur, in xfs_allocbt_alloc_block() argument
77 XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY); in xfs_allocbt_alloc_block()
80 error = xfs_alloc_get_freelist(cur->bc_tp, cur->bc_private.a.agbp, in xfs_allocbt_alloc_block()
83 XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR); in xfs_allocbt_alloc_block()
88 XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT); in xfs_allocbt_alloc_block()
93 xfs_extent_busy_reuse(cur->bc_mp, cur->bc_private.a.agno, bno, 1, false); in xfs_allocbt_alloc_block()
95 xfs_trans_agbtree_delta(cur->bc_tp, 1); in xfs_allocbt_alloc_block()
98 XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT); in xfs_allocbt_alloc_block()
105 struct xfs_btree_cur *cur, in xfs_allocbt_free_block() argument
108 struct xfs_buf *agbp = cur->bc_private.a.agbp; in xfs_allocbt_free_block()
113 bno = xfs_daddr_to_agbno(cur->bc_mp, XFS_BUF_ADDR(bp)); in xfs_allocbt_free_block()
114 error = xfs_alloc_put_freelist(cur->bc_tp, agbp, NULL, bno, 1); in xfs_allocbt_free_block()
118 xfs_extent_busy_insert(cur->bc_tp, be32_to_cpu(agf->agf_seqno), bno, 1, in xfs_allocbt_free_block()
120 xfs_trans_agbtree_delta(cur->bc_tp, -1); in xfs_allocbt_free_block()
122 xfs_trans_binval(cur->bc_tp, bp); in xfs_allocbt_free_block()
131 struct xfs_btree_cur *cur, in xfs_allocbt_update_lastrec() argument
137 struct xfs_agf *agf = XFS_BUF_TO_AGF(cur->bc_private.a.agbp); in xfs_allocbt_update_lastrec()
143 ASSERT(cur->bc_btnum == XFS_BTNUM_CNT); in xfs_allocbt_update_lastrec()
170 rrp = XFS_ALLOC_REC_ADDR(cur->bc_mp, block, numrecs); in xfs_allocbt_update_lastrec()
183 pag = xfs_perag_get(cur->bc_mp, seqno); in xfs_allocbt_update_lastrec()
186 xfs_alloc_log_agf(cur->bc_tp, cur->bc_private.a.agbp, XFS_AGF_LONGEST); in xfs_allocbt_update_lastrec()
191 struct xfs_btree_cur *cur, in xfs_allocbt_get_minrecs() argument
194 return cur->bc_mp->m_alloc_mnr[level != 0]; in xfs_allocbt_get_minrecs()
199 struct xfs_btree_cur *cur, in xfs_allocbt_get_maxrecs() argument
202 return cur->bc_mp->m_alloc_mxr[level != 0]; in xfs_allocbt_get_maxrecs()
229 struct xfs_btree_cur *cur, in xfs_allocbt_init_rec_from_cur() argument
232 ASSERT(cur->bc_rec.a.ar_startblock != 0); in xfs_allocbt_init_rec_from_cur()
234 rec->alloc.ar_startblock = cpu_to_be32(cur->bc_rec.a.ar_startblock); in xfs_allocbt_init_rec_from_cur()
235 rec->alloc.ar_blockcount = cpu_to_be32(cur->bc_rec.a.ar_blockcount); in xfs_allocbt_init_rec_from_cur()
240 struct xfs_btree_cur *cur, in xfs_allocbt_init_ptr_from_cur() argument
243 struct xfs_agf *agf = XFS_BUF_TO_AGF(cur->bc_private.a.agbp); in xfs_allocbt_init_ptr_from_cur()
245 ASSERT(cur->bc_private.a.agno == be32_to_cpu(agf->agf_seqno)); in xfs_allocbt_init_ptr_from_cur()
246 ASSERT(agf->agf_roots[cur->bc_btnum] != 0); in xfs_allocbt_init_ptr_from_cur()
248 ptr->s = agf->agf_roots[cur->bc_btnum]; in xfs_allocbt_init_ptr_from_cur()
253 struct xfs_btree_cur *cur, in xfs_allocbt_key_diff() argument
256 xfs_alloc_rec_incore_t *rec = &cur->bc_rec.a; in xfs_allocbt_key_diff()
260 if (cur->bc_btnum == XFS_BTNUM_BNO) { in xfs_allocbt_key_diff()
390 struct xfs_btree_cur *cur, in xfs_allocbt_keys_inorder() argument
394 if (cur->bc_btnum == XFS_BTNUM_BNO) { in xfs_allocbt_keys_inorder()
408 struct xfs_btree_cur *cur, in xfs_allocbt_recs_inorder() argument
412 if (cur->bc_btnum == XFS_BTNUM_BNO) { in xfs_allocbt_recs_inorder()
461 struct xfs_btree_cur *cur; in xfs_allocbt_init_cursor() local
465 cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_SLEEP); in xfs_allocbt_init_cursor()
467 cur->bc_tp = tp; in xfs_allocbt_init_cursor()
468 cur->bc_mp = mp; in xfs_allocbt_init_cursor()
469 cur->bc_btnum = btnum; in xfs_allocbt_init_cursor()
470 cur->bc_blocklog = mp->m_sb.sb_blocklog; in xfs_allocbt_init_cursor()
471 cur->bc_ops = &xfs_allocbt_ops; in xfs_allocbt_init_cursor()
474 cur->bc_nlevels = be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNT]); in xfs_allocbt_init_cursor()
475 cur->bc_flags = XFS_BTREE_LASTREC_UPDATE; in xfs_allocbt_init_cursor()
477 cur->bc_nlevels = be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNO]); in xfs_allocbt_init_cursor()
480 cur->bc_private.a.agbp = agbp; in xfs_allocbt_init_cursor()
481 cur->bc_private.a.agno = agno; in xfs_allocbt_init_cursor()
484 cur->bc_flags |= XFS_BTREE_CRC_BLOCKS; in xfs_allocbt_init_cursor()
486 return cur; in xfs_allocbt_init_cursor()