Lines Matching refs:cur
401 struct xfs_btree_cur *cur) in xfs_bmbt_dup_cursor() argument
405 new = xfs_bmbt_init_cursor(cur->bc_mp, cur->bc_tp, in xfs_bmbt_dup_cursor()
406 cur->bc_private.b.ip, cur->bc_private.b.whichfork); in xfs_bmbt_dup_cursor()
412 new->bc_private.b.firstblock = cur->bc_private.b.firstblock; in xfs_bmbt_dup_cursor()
413 new->bc_private.b.flist = cur->bc_private.b.flist; in xfs_bmbt_dup_cursor()
414 new->bc_private.b.flags = cur->bc_private.b.flags; in xfs_bmbt_dup_cursor()
436 struct xfs_btree_cur *cur, in xfs_bmbt_alloc_block() argument
445 args.tp = cur->bc_tp; in xfs_bmbt_alloc_block()
446 args.mp = cur->bc_mp; in xfs_bmbt_alloc_block()
447 args.fsbno = cur->bc_private.b.firstblock; in xfs_bmbt_alloc_block()
465 } else if (cur->bc_private.b.flist->xbf_low) { in xfs_bmbt_alloc_block()
472 args.wasdel = cur->bc_private.b.flags & XFS_BTCUR_BPRV_WASDEL; in xfs_bmbt_alloc_block()
493 cur->bc_private.b.flist->xbf_low = 1; in xfs_bmbt_alloc_block()
496 XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT); in xfs_bmbt_alloc_block()
501 cur->bc_private.b.firstblock = args.fsbno; in xfs_bmbt_alloc_block()
502 cur->bc_private.b.allocated++; in xfs_bmbt_alloc_block()
503 cur->bc_private.b.ip->i_d.di_nblocks++; in xfs_bmbt_alloc_block()
504 xfs_trans_log_inode(args.tp, cur->bc_private.b.ip, XFS_ILOG_CORE); in xfs_bmbt_alloc_block()
505 xfs_trans_mod_dquot_byino(args.tp, cur->bc_private.b.ip, in xfs_bmbt_alloc_block()
510 XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT); in xfs_bmbt_alloc_block()
515 XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR); in xfs_bmbt_alloc_block()
521 struct xfs_btree_cur *cur, in xfs_bmbt_free_block() argument
524 struct xfs_mount *mp = cur->bc_mp; in xfs_bmbt_free_block()
525 struct xfs_inode *ip = cur->bc_private.b.ip; in xfs_bmbt_free_block()
526 struct xfs_trans *tp = cur->bc_tp; in xfs_bmbt_free_block()
529 xfs_bmap_add_free(fsbno, 1, cur->bc_private.b.flist, mp); in xfs_bmbt_free_block()
540 struct xfs_btree_cur *cur, in xfs_bmbt_get_minrecs() argument
543 if (level == cur->bc_nlevels - 1) { in xfs_bmbt_get_minrecs()
546 ifp = XFS_IFORK_PTR(cur->bc_private.b.ip, in xfs_bmbt_get_minrecs()
547 cur->bc_private.b.whichfork); in xfs_bmbt_get_minrecs()
549 return xfs_bmbt_maxrecs(cur->bc_mp, in xfs_bmbt_get_minrecs()
553 return cur->bc_mp->m_bmap_dmnr[level != 0]; in xfs_bmbt_get_minrecs()
558 struct xfs_btree_cur *cur, in xfs_bmbt_get_maxrecs() argument
561 if (level == cur->bc_nlevels - 1) { in xfs_bmbt_get_maxrecs()
564 ifp = XFS_IFORK_PTR(cur->bc_private.b.ip, in xfs_bmbt_get_maxrecs()
565 cur->bc_private.b.whichfork); in xfs_bmbt_get_maxrecs()
567 return xfs_bmbt_maxrecs(cur->bc_mp, in xfs_bmbt_get_maxrecs()
571 return cur->bc_mp->m_bmap_dmxr[level != 0]; in xfs_bmbt_get_maxrecs()
586 struct xfs_btree_cur *cur, in xfs_bmbt_get_dmaxrecs() argument
589 if (level != cur->bc_nlevels - 1) in xfs_bmbt_get_dmaxrecs()
590 return cur->bc_mp->m_bmap_dmxr[level != 0]; in xfs_bmbt_get_dmaxrecs()
591 return xfs_bmdr_maxrecs(cur->bc_private.b.forksize, level == 0); in xfs_bmbt_get_dmaxrecs()
616 struct xfs_btree_cur *cur, in xfs_bmbt_init_rec_from_cur() argument
619 xfs_bmbt_disk_set_all(&rec->bmbt, &cur->bc_rec.b); in xfs_bmbt_init_rec_from_cur()
624 struct xfs_btree_cur *cur, in xfs_bmbt_init_ptr_from_cur() argument
632 struct xfs_btree_cur *cur, in xfs_bmbt_key_diff() argument
636 cur->bc_rec.b.br_startoff; in xfs_bmbt_key_diff()
732 struct xfs_btree_cur *cur, in xfs_bmbt_keys_inorder() argument
742 struct xfs_btree_cur *cur, in xfs_bmbt_recs_inorder() argument
786 struct xfs_btree_cur *cur; in xfs_bmbt_init_cursor() local
788 cur = kmem_zone_zalloc(xfs_btree_cur_zone, KM_SLEEP); in xfs_bmbt_init_cursor()
790 cur->bc_tp = tp; in xfs_bmbt_init_cursor()
791 cur->bc_mp = mp; in xfs_bmbt_init_cursor()
792 cur->bc_nlevels = be16_to_cpu(ifp->if_broot->bb_level) + 1; in xfs_bmbt_init_cursor()
793 cur->bc_btnum = XFS_BTNUM_BMAP; in xfs_bmbt_init_cursor()
794 cur->bc_blocklog = mp->m_sb.sb_blocklog; in xfs_bmbt_init_cursor()
796 cur->bc_ops = &xfs_bmbt_ops; in xfs_bmbt_init_cursor()
797 cur->bc_flags = XFS_BTREE_LONG_PTRS | XFS_BTREE_ROOT_IN_INODE; in xfs_bmbt_init_cursor()
799 cur->bc_flags |= XFS_BTREE_CRC_BLOCKS; in xfs_bmbt_init_cursor()
801 cur->bc_private.b.forksize = XFS_IFORK_SIZE(ip, whichfork); in xfs_bmbt_init_cursor()
802 cur->bc_private.b.ip = ip; in xfs_bmbt_init_cursor()
803 cur->bc_private.b.firstblock = NULLFSBLOCK; in xfs_bmbt_init_cursor()
804 cur->bc_private.b.flist = NULL; in xfs_bmbt_init_cursor()
805 cur->bc_private.b.allocated = 0; in xfs_bmbt_init_cursor()
806 cur->bc_private.b.flags = 0; in xfs_bmbt_init_cursor()
807 cur->bc_private.b.whichfork = whichfork; in xfs_bmbt_init_cursor()
809 return cur; in xfs_bmbt_init_cursor()
868 struct xfs_btree_cur *cur; in xfs_bmbt_change_owner() local
878 cur = xfs_bmbt_init_cursor(ip->i_mount, tp, ip, whichfork); in xfs_bmbt_change_owner()
879 if (!cur) in xfs_bmbt_change_owner()
882 error = xfs_btree_change_owner(cur, new_owner, buffer_list); in xfs_bmbt_change_owner()
883 xfs_btree_del_cursor(cur, error ? XFS_BTREE_ERROR : XFS_BTREE_NOERROR); in xfs_bmbt_change_owner()