unit_bytes += sizeof(xlog_op_header_t); 
unit_bytes += sizeof(xlog_op_header_t); 
xlog_ticket_get(xlog_t		*log,		int		unit_bytes,		int		cnt,		char		client,		uint		xflags){	xlog_ticket_t	*tic;	uint		num_headers;	SPLDECL(s); alloc:	if (log->l_freelist == NULL)		xlog_state_ticket_alloc(log);		/* potentially sleep */	s = LOG_LOCK(log);	if (log->l_freelist == NULL) {		LOG_UNLOCK(log, s);		goto alloc;	}	tic		= log->l_freelist;	log->l_freelist	= tic->t_next;	if (log->l_freelist == NULL)		log->l_tail = NULL;	log->l_ticket_cnt--;	LOG_UNLOCK(log, s);	/*	 * Permanent reservations have up to 'cnt'-1 active log operations	 * in the log.  A unit in this case is the amount of space for one	 * of these log operations.  Normal reservations have a cnt of 1	 * and their unit amount is the total amount of space required.	 *	 * The following lines of code account for non-transaction data	 * which occupy space in the on-disk log. 	 */	/* for start-rec */	unit_bytes += sizeof(xlog_op_header_t); 	/* for padding */	if (XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb) &&		log->l_mp->m_sb.sb_logsunit > 1) {		/* log su roundoff */		unit_bytes += log->l_mp->m_sb.sb_logsunit;  	} else {		/* BB roundoff */		unit_bytes += BBSIZE;        }	/* for commit-rec */	unit_bytes += sizeof(xlog_op_header_t); 	/* for LR headers */	num_headers = ((unit_bytes + log->l_iclog_size-1) >> log->l_iclog_size_log);	unit_bytes += log->l_iclog_hsize * num_headers;	tic->t_unit_res		= unit_bytes;	tic->t_curr_res		= unit_bytes;	tic->t_cnt		= cnt;	tic->t_ocnt		= cnt;	tic->t_tid		= (xlog_tid_t)((__psint_t)tic & 0xffffffff);	tic->t_clientid		= client;	tic->t_flags		= XLOG_TIC_INITED;	if (xflags & XFS_LOG_PERM_RESERV)		tic->t_flags |= XLOG_TIC_PERM_RESERV;	sv_init(&(tic->t_sema), SV_DEFAULT, "logtick");	return tic;}	/* xlog_ticket_get */
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/32fb9b57aef35b82434cfb4c9de18b484fc3ec88/xfs_log.c/clean/fs/xfs/xfs_log.c