 if (arq->state != AS_RQ_PRESCHED) { printk("arq->state: %d\n", arq->state); WARN_ON(1); } arq->state = AS_RQ_NEW; 
static void as_add_request(struct as_data *ad, struct as_rq *arq){	struct as_rq *alias;	int data_dir;	if (rq_data_dir(arq->request) == READ			|| current->flags&PF_SYNCWRITE)		arq->is_sync = 1;	else		arq->is_sync = 0;	data_dir = arq->is_sync;	arq->io_context = as_get_io_context();	if (arq->io_context) {		as_update_iohist(ad, arq->io_context->aic, arq->request);		atomic_inc(&arq->io_context->aic->nr_queued);	}	alias = as_add_arq_rb(ad, arq);	if (!alias) {		/*		 * set expire time (only used for reads) and add to fifo list		 */		arq->expires = jiffies + ad->fifo_expire[data_dir];		list_add_tail(&arq->fifo, &ad->fifo_list[data_dir]);		if (rq_mergeable(arq->request)) {			as_add_arq_hash(ad, arq);			if (!ad->q->last_merge)				ad->q->last_merge = arq->request;		}		as_update_arq(ad, arq); /* keep state machine up to date */	} else {		as_add_aliased_request(ad, arq, alias);		/*		 * have we been anticipating this request?		 * or does it come from the same process as the one we are		 * anticipating for?		 */		if (ad->antic_status == ANTIC_WAIT_REQ				|| ad->antic_status == ANTIC_WAIT_NEXT) {			if (as_can_break_anticipation(ad, arq))				as_antic_stop(ad);		}	}	arq->state = AS_RQ_QUEUED;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b4878f245ec8e168cdd1f170f823a750b7dd4af5/as-iosched.c/clean/drivers/block/as-iosched.c