elv_deactivate_request(q, rq);  
struct request *blk_start_pre_flush(request_queue_t *q, struct request *rq){	struct request *flush_rq = q->flush_rq;	BUG_ON(!blk_barrier_rq(rq));	if (test_and_set_bit(QUEUE_FLAG_FLUSH, &q->queue_flags))		return NULL;	rq_init(q, flush_rq);	flush_rq->elevator_private = NULL;	flush_rq->flags = REQ_BAR_FLUSH;	flush_rq->rq_disk = rq->rq_disk;	flush_rq->rl = NULL;	/*	 * prepare_flush returns 0 if no flush is needed, just mark both	 * pre and post flush as done in that case	 */	if (!q->prepare_flush_fn(q, flush_rq)) {		rq->flags |= REQ_BAR_PREFLUSH | REQ_BAR_POSTFLUSH;		clear_bit(QUEUE_FLAG_FLUSH, &q->queue_flags);		return rq;	}	/*	 * some drivers dequeue requests right away, some only after io	 * completion. make sure the request is dequeued.	 */	if (!list_empty(&rq->queuelist))		blkdev_dequeue_request(rq);	elv_deactivate_request(q, rq);	flush_rq->end_io_data = rq;	flush_rq->end_io = blk_pre_flush_end_io;	__elv_add_request(q, flush_rq, ELEVATOR_INSERT_FRONT, 0);	return flush_rq;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/8922e16cf6269e668123acb1ae1fdc62b7a3a4fc/ll_rw_blk.c/buggy/drivers/block/ll_rw_blk.c