Lines Matching refs:cur
400 struct xfs_btree_cur *cur) in xfs_bmbt_dup_cursor() argument
404 new = xfs_bmbt_init_cursor(cur->bc_mp, cur->bc_tp, in xfs_bmbt_dup_cursor()
405 cur->bc_private.b.ip, cur->bc_private.b.whichfork); in xfs_bmbt_dup_cursor()
411 new->bc_private.b.firstblock = cur->bc_private.b.firstblock; in xfs_bmbt_dup_cursor()
412 new->bc_private.b.flist = cur->bc_private.b.flist; in xfs_bmbt_dup_cursor()
413 new->bc_private.b.flags = cur->bc_private.b.flags; in xfs_bmbt_dup_cursor()
435 struct xfs_btree_cur *cur, in xfs_bmbt_alloc_block() argument
444 args.tp = cur->bc_tp; in xfs_bmbt_alloc_block()
445 args.mp = cur->bc_mp; in xfs_bmbt_alloc_block()
446 args.fsbno = cur->bc_private.b.firstblock; in xfs_bmbt_alloc_block()
464 } else if (cur->bc_private.b.flist->xbf_low) { in xfs_bmbt_alloc_block()
471 args.wasdel = cur->bc_private.b.flags & XFS_BTCUR_BPRV_WASDEL; in xfs_bmbt_alloc_block()
492 cur->bc_private.b.flist->xbf_low = 1; in xfs_bmbt_alloc_block()
495 XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT); in xfs_bmbt_alloc_block()
500 cur->bc_private.b.firstblock = args.fsbno; in xfs_bmbt_alloc_block()
501 cur->bc_private.b.allocated++; in xfs_bmbt_alloc_block()
502 cur->bc_private.b.ip->i_d.di_nblocks++; in xfs_bmbt_alloc_block()
503 xfs_trans_log_inode(args.tp, cur->bc_private.b.ip, XFS_ILOG_CORE); in xfs_bmbt_alloc_block()
504 xfs_trans_mod_dquot_byino(args.tp, cur->bc_private.b.ip, in xfs_bmbt_alloc_block()
509 XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT); in xfs_bmbt_alloc_block()
514 XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR); in xfs_bmbt_alloc_block()
520 struct xfs_btree_cur *cur, in xfs_bmbt_free_block() argument
523 struct xfs_mount *mp = cur->bc_mp; in xfs_bmbt_free_block()
524 struct xfs_inode *ip = cur->bc_private.b.ip; in xfs_bmbt_free_block()
525 struct xfs_trans *tp = cur->bc_tp; in xfs_bmbt_free_block()
528 xfs_bmap_add_free(fsbno, 1, cur->bc_private.b.flist, mp); in xfs_bmbt_free_block()
539 struct xfs_btree_cur *cur, in xfs_bmbt_get_minrecs() argument
542 if (level == cur->bc_nlevels - 1) { in xfs_bmbt_get_minrecs()
545 ifp = XFS_IFORK_PTR(cur->bc_private.b.ip, in xfs_bmbt_get_minrecs()
546 cur->bc_private.b.whichfork); in xfs_bmbt_get_minrecs()
548 return xfs_bmbt_maxrecs(cur->bc_mp, in xfs_bmbt_get_minrecs()
552 return cur->bc_mp->m_bmap_dmnr[level != 0]; in xfs_bmbt_get_minrecs()
557 struct xfs_btree_cur *cur, in xfs_bmbt_get_maxrecs() argument
560 if (level == cur->bc_nlevels - 1) { in xfs_bmbt_get_maxrecs()
563 ifp = XFS_IFORK_PTR(cur->bc_private.b.ip, in xfs_bmbt_get_maxrecs()
564 cur->bc_private.b.whichfork); in xfs_bmbt_get_maxrecs()
566 return xfs_bmbt_maxrecs(cur->bc_mp, in xfs_bmbt_get_maxrecs()
570 return cur->bc_mp->m_bmap_dmxr[level != 0]; in xfs_bmbt_get_maxrecs()
585 struct xfs_btree_cur *cur, in xfs_bmbt_get_dmaxrecs() argument
588 if (level != cur->bc_nlevels - 1) in xfs_bmbt_get_dmaxrecs()
589 return cur->bc_mp->m_bmap_dmxr[level != 0]; in xfs_bmbt_get_dmaxrecs()
590 return xfs_bmdr_maxrecs(cur->bc_private.b.forksize, level == 0); in xfs_bmbt_get_dmaxrecs()
615 struct xfs_btree_cur *cur, in xfs_bmbt_init_rec_from_cur() argument
618 xfs_bmbt_disk_set_all(&rec->bmbt, &cur->bc_rec.b); in xfs_bmbt_init_rec_from_cur()
623 struct xfs_btree_cur *cur, in xfs_bmbt_init_ptr_from_cur() argument
631 struct xfs_btree_cur *cur, in xfs_bmbt_key_diff() argument
635 cur->bc_rec.b.br_startoff; in xfs_bmbt_key_diff()
730 struct xfs_btree_cur *cur, in xfs_bmbt_keys_inorder() argument
740 struct xfs_btree_cur *cur, in xfs_bmbt_recs_inorder() argument
784 struct xfs_btree_cur *cur; in xfs_bmbt_init_cursor() local
786 cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_SLEEP); in xfs_bmbt_init_cursor()
788 cur->bc_tp = tp; in xfs_bmbt_init_cursor()
789 cur->bc_mp = mp; in xfs_bmbt_init_cursor()
790 cur->bc_nlevels = be16_to_cpu(ifp->if_broot->bb_level) + 1; in xfs_bmbt_init_cursor()
791 cur->bc_btnum = XFS_BTNUM_BMAP; in xfs_bmbt_init_cursor()
792 cur->bc_blocklog = mp->m_sb.sb_blocklog; in xfs_bmbt_init_cursor()
794 cur->bc_ops = &xfs_bmbt_ops; in xfs_bmbt_init_cursor()
795 cur->bc_flags = XFS_BTREE_LONG_PTRS | XFS_BTREE_ROOT_IN_INODE; in xfs_bmbt_init_cursor()
797 cur->bc_flags |= XFS_BTREE_CRC_BLOCKS; in xfs_bmbt_init_cursor()
799 cur->bc_private.b.forksize = XFS_IFORK_SIZE(ip, whichfork); in xfs_bmbt_init_cursor()
800 cur->bc_private.b.ip = ip; in xfs_bmbt_init_cursor()
801 cur->bc_private.b.firstblock = NULLFSBLOCK; in xfs_bmbt_init_cursor()
802 cur->bc_private.b.flist = NULL; in xfs_bmbt_init_cursor()
803 cur->bc_private.b.allocated = 0; in xfs_bmbt_init_cursor()
804 cur->bc_private.b.flags = 0; in xfs_bmbt_init_cursor()
805 cur->bc_private.b.whichfork = whichfork; in xfs_bmbt_init_cursor()
807 return cur; in xfs_bmbt_init_cursor()
866 struct xfs_btree_cur *cur; in xfs_bmbt_change_owner() local
876 cur = xfs_bmbt_init_cursor(ip->i_mount, tp, ip, whichfork); in xfs_bmbt_change_owner()
877 if (!cur) in xfs_bmbt_change_owner()
880 error = xfs_btree_change_owner(cur, new_owner, buffer_list); in xfs_bmbt_change_owner()
881 xfs_btree_del_cursor(cur, error ? XFS_BTREE_ERROR : XFS_BTREE_NOERROR); in xfs_bmbt_change_owner()