max_back = q->max_back_kb * 2; boundary = boundary > max_back ? boundary - max_back : 0;  
void elv_dispatch_sort(request_queue_t *q, struct request *rq){	sector_t boundary;	unsigned max_back;	struct list_head *entry;	if (q->last_merge == rq)		q->last_merge = NULL;	boundary = q->end_sector;	max_back = q->max_back_kb * 2;	boundary = boundary > max_back ? boundary - max_back : 0;		list_for_each_prev(entry, &q->queue_head) {		struct request *pos = list_entry_rq(entry);		if (pos->flags & (REQ_SOFTBARRIER|REQ_HARDBARRIER|REQ_STARTED))			break;		if (rq->sector >= boundary) {			if (pos->sector < boundary)				continue;		} else {			if (pos->sector >= boundary)				break;		}		if (rq->sector >= pos->sector)			break;	}	list_add(&rq->queuelist, entry);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/cb19833dccb32f97cacbfff834b53523915f13f6/elevator.c/buggy/drivers/block/elevator.c