cur = *start_block; 
cur = start_block; 
static struct ext3_reserve_window_node *find_next_reservable_window(				struct ext3_reserve_window_node *search_head,				unsigned long size, int *start_block,				int last_block){	struct rb_node *next;	struct ext3_reserve_window_node *rsv, *prev;	int cur;	/* TODO: make the start of the reservation window byte-aligned */	/* cur = *start_block & ~7;*/	cur = *start_block;	rsv = search_head;	if (!rsv)		return NULL;	while (1) {		if (cur <= rsv->rsv_end)			cur = rsv->rsv_end + 1;		/* TODO?		 * in the case we could not find a reservable space		 * that is what is expected, during the re-search, we could		 * remember what's the largest reservable space we could have		 * and return that one.		 *		 * For now it will fail if we could not find the reservable		 * space with expected-size (or more)...		 */		if (cur > last_block)			return NULL;		/* fail */		prev = rsv;		next = rb_next(&rsv->rsv_node);		rsv = list_entry(next, struct ext3_reserve_window_node, rsv_node);		/*		 * Reached the last reservation, we can just append to the		 * previous one.		 */		if (!next)			break;		if (cur + size <= rsv->rsv_start) {			/*			 * Found a reserveable space big enough.  We could			 * have a reservation across the group boundary here		 	 */			break;		}	}	/*	 * we come here either :	 * when we reach the end of the whole list,	 * and there is empty reservable space after last entry in the list.	 * append it to the end of the list.	 *	 * or we found one reservable space in the middle of the list,	 * return the reservation window that we could append to.	 * succeed.	 */	*start_block = cur;	return prev;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/21fe3471c3aaa5c489c5d3a4d705291eb7511248/balloc.c/buggy/fs/ext3/balloc.c