elv_deactivate_request(q, rq);
elevator_t *e = q->elevator;   if (blk_account_rq(rq)) { q->in_flight--; if (blk_sorted_rq(rq) && e->ops->elevator_deactivate_req_fn) e->ops->elevator_deactivate_req_fn(q, rq); }  rq->flags &= ~REQ_STARTED;
void elv_requeue_request(request_queue_t *q, struct request *rq){	elv_deactivate_request(q, rq);	/*	 * if this is the flush, requeue the original instead and drop the flush	 */	if (rq->flags & REQ_BAR_FLUSH) {		clear_bit(QUEUE_FLAG_FLUSH, &q->queue_flags);		rq = rq->end_io_data;	}	/*	 * the request is prepped and may have some resources allocated.	 * allowing unprepped requests to pass this one may cause resource	 * deadlock.  turn on softbarrier.	 */	rq->flags |= REQ_SOFTBARRIER;	/*	 * if iosched has an explicit requeue hook, then use that. otherwise	 * just put the request at the front of the queue	 */	if (q->elevator->ops->elevator_requeue_req_fn)		q->elevator->ops->elevator_requeue_req_fn(q, rq);	else		__elv_add_request(q, rq, ELEVATOR_INSERT_FRONT, 0);}