/* Log block pointer fields from a btree block (nonleaf).  */
STATIC void xfs_btree_log_ptrs(struct xfs_btree_cur *cur, struct xfs_buf *bp, int first, int last)
/* Log block pointer fields from a btree block (nonleaf).  */
STATIC void xfs_btree_log_ptrs(struct xfs_btree_cur *cur, struct xfs_buf *bp, int first, int last)
{
	XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
	XFS_BTREE_TRACE_ARGBII(cur, bp, first, last);
	if (bp) {
		struct xfs_btree_block	*block = XFS_BUF_TO_BLOCK(bp);
		int			level = xfs_btree_get_level(block);
		xfs_trans_log_buf(cur->bc_tp, bp,
				xfs_btree_ptr_offset(cur, first, level),
				xfs_btree_ptr_offset(cur, last + 1, level) - 1);
	} else {
		xfs_trans_log_inode(cur->bc_tp, cur->bc_private.b.ip,
			xfs_ilog_fbroot(cur->bc_private.b.whichfork));
	}
	XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
}