#if defined(DEBUG) || defined(XLOG_NOLOG) if (!xlog_debug && xlog_target == log->l_targ) return; #endif /* XXXsup tmp */ 
xfs_log_move_tail(xfs_mount_t	*mp,		  xfs_lsn_t	tail_lsn){	xlog_ticket_t	*tic;	xlog_t		*log = mp->m_log;	int		need_bytes, free_bytes, cycle, bytes;	SPLDECL(s);#if defined(DEBUG) || defined(XLOG_NOLOG)	if (!xlog_debug && xlog_target == log->l_targ)		return;#endif	/* XXXsup tmp */	if (XLOG_FORCED_SHUTDOWN(log))		return;	ASSERT(!XFS_FORCED_SHUTDOWN(mp));	if (tail_lsn == 0) {		/* needed since sync_lsn is 64 bits */		s = LOG_LOCK(log);		tail_lsn = log->l_last_sync_lsn;		LOG_UNLOCK(log, s);	}	s = GRANT_LOCK(log);	/* Also an invalid lsn.  1 implies that we aren't passing in a valid	 * tail_lsn.	 */	if (tail_lsn != 1) {		log->l_tail_lsn = tail_lsn;	}	if ((tic = log->l_write_headq)) {#ifdef DEBUG		if (log->l_flags & XLOG_ACTIVE_RECOVERY)			panic("Recovery problem");#endif		cycle = log->l_grant_write_cycle;		bytes = log->l_grant_write_bytes;		free_bytes = xlog_space_left(log, cycle, bytes);		do {			ASSERT(tic->t_flags & XLOG_TIC_PERM_RESERV);			if (free_bytes < tic->t_unit_res && tail_lsn != 1)				break;			tail_lsn = 0;			free_bytes -= tic->t_unit_res;			sv_signal(&tic->t_sema);			tic = tic->t_next;		} while (tic != log->l_write_headq);	}	if ((tic = log->l_reserve_headq)) {#ifdef DEBUG		if (log->l_flags & XLOG_ACTIVE_RECOVERY)			panic("Recovery problem");#endif		cycle = log->l_grant_reserve_cycle;		bytes = log->l_grant_reserve_bytes;		free_bytes = xlog_space_left(log, cycle, bytes);		do {			if (tic->t_flags & XLOG_TIC_PERM_RESERV)				need_bytes = tic->t_unit_res*tic->t_cnt;			else				need_bytes = tic->t_unit_res;			if (free_bytes < need_bytes && tail_lsn != 1)				break;			tail_lsn = 0;			free_bytes -= need_bytes;			sv_signal(&tic->t_sema);			tic = tic->t_next;		} while (tic != log->l_reserve_headq);	}	GRANT_UNLOCK(log, s);}	/* xfs_log_move_tail */
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/cfcbbbd089eadcaa86abb2c0f352e1ab23e16f72/xfs_log.c/buggy/fs/xfs/xfs_log.c