mirror of https://gitee.com/openkylin/linux.git
block: get rid of elv_insert() interface
Merge it with __elv_add_request(), it's pretty pointless to have a function with only two callers. The main interface is elv_add_request()/__elv_add_request(). Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
This commit is contained in:
parent
8182924bc5
commit
b710a48055
|
@ -261,7 +261,7 @@ static bool blk_kick_flush(struct request_queue *q)
|
|||
q->flush_rq.end_io = flush_end_io;
|
||||
|
||||
q->flush_pending_idx ^= 1;
|
||||
elv_insert(q, &q->flush_rq, ELEVATOR_INSERT_REQUEUE);
|
||||
__elv_add_request(q, &q->flush_rq, ELEVATOR_INSERT_REQUEUE);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -281,7 +281,7 @@ static void flush_data_end_io(struct request *rq, int error)
|
|||
* blk_insert_flush - insert a new FLUSH/FUA request
|
||||
* @rq: request to insert
|
||||
*
|
||||
* To be called from elv_insert() for %ELEVATOR_INSERT_FLUSH insertions.
|
||||
* To be called from __elv_add_request() for %ELEVATOR_INSERT_FLUSH insertions.
|
||||
* @rq is being submitted. Analyze what needs to be done and put it on the
|
||||
* right queue.
|
||||
*
|
||||
|
|
|
@ -610,7 +610,7 @@ void elv_requeue_request(struct request_queue *q, struct request *rq)
|
|||
|
||||
rq->cmd_flags &= ~REQ_STARTED;
|
||||
|
||||
elv_insert(q, rq, ELEVATOR_INSERT_REQUEUE);
|
||||
__elv_add_request(q, rq, ELEVATOR_INSERT_REQUEUE);
|
||||
}
|
||||
|
||||
void elv_drain_elevator(struct request_queue *q)
|
||||
|
@ -655,12 +655,25 @@ void elv_quiesce_end(struct request_queue *q)
|
|||
queue_flag_clear(QUEUE_FLAG_ELVSWITCH, q);
|
||||
}
|
||||
|
||||
void elv_insert(struct request_queue *q, struct request *rq, int where)
|
||||
void __elv_add_request(struct request_queue *q, struct request *rq, int where)
|
||||
{
|
||||
trace_block_rq_insert(q, rq);
|
||||
|
||||
rq->q = q;
|
||||
|
||||
BUG_ON(rq->cmd_flags & REQ_ON_PLUG);
|
||||
|
||||
if (rq->cmd_flags & REQ_SOFTBARRIER) {
|
||||
/* barriers are scheduling boundary, update end_sector */
|
||||
if (rq->cmd_type == REQ_TYPE_FS ||
|
||||
(rq->cmd_flags & REQ_DISCARD)) {
|
||||
q->end_sector = rq_end_sector(rq);
|
||||
q->boundary_rq = rq;
|
||||
}
|
||||
} else if (!(rq->cmd_flags & REQ_ELVPRIV) &&
|
||||
where == ELEVATOR_INSERT_SORT)
|
||||
where = ELEVATOR_INSERT_BACK;
|
||||
|
||||
switch (where) {
|
||||
case ELEVATOR_INSERT_REQUEUE:
|
||||
case ELEVATOR_INSERT_FRONT:
|
||||
|
@ -722,24 +735,6 @@ void elv_insert(struct request_queue *q, struct request *rq, int where)
|
|||
BUG();
|
||||
}
|
||||
}
|
||||
|
||||
void __elv_add_request(struct request_queue *q, struct request *rq, int where)
|
||||
{
|
||||
BUG_ON(rq->cmd_flags & REQ_ON_PLUG);
|
||||
|
||||
if (rq->cmd_flags & REQ_SOFTBARRIER) {
|
||||
/* barriers are scheduling boundary, update end_sector */
|
||||
if (rq->cmd_type == REQ_TYPE_FS ||
|
||||
(rq->cmd_flags & REQ_DISCARD)) {
|
||||
q->end_sector = rq_end_sector(rq);
|
||||
q->boundary_rq = rq;
|
||||
}
|
||||
} else if (!(rq->cmd_flags & REQ_ELVPRIV) &&
|
||||
where == ELEVATOR_INSERT_SORT)
|
||||
where = ELEVATOR_INSERT_BACK;
|
||||
|
||||
elv_insert(q, rq, where);
|
||||
}
|
||||
EXPORT_SYMBOL(__elv_add_request);
|
||||
|
||||
void elv_add_request(struct request_queue *q, struct request *rq, int where)
|
||||
|
|
|
@ -101,7 +101,6 @@ extern void elv_dispatch_sort(struct request_queue *, struct request *);
|
|||
extern void elv_dispatch_add_tail(struct request_queue *, struct request *);
|
||||
extern void elv_add_request(struct request_queue *, struct request *, int);
|
||||
extern void __elv_add_request(struct request_queue *, struct request *, int);
|
||||
extern void elv_insert(struct request_queue *, struct request *, int);
|
||||
extern int elv_merge(struct request_queue *, struct request **, struct bio *);
|
||||
extern int elv_try_merge(struct request *, struct bio *);
|
||||
extern void elv_merge_requests(struct request_queue *, struct request *,
|
||||
|
|
Loading…
Reference in New Issue