Commit 867d1191fca388a79e4bb500dd85a9e871c96b99
Committed by
James Bottomley
1 parent
beb6617d99
Exists in
master
and in
7 other branches
[SCSI] remove requeue feature from blk_insert_request()
blk_insert_request() has a unobivous feature of requeuing a request setting REQ_SPECIAL|REQ_SOFTBARRIER. SCSI midlayer was the only user and as previous patches removed the usage, remove the feature from blk_insert_request(). Only special requests should be queued with blk_insert_request(). All requeueing should go through blk_requeue_request(). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Showing 5 changed files with 11 additions and 19 deletions Side-by-side Diff
drivers/block/ll_rw_blk.c
... | ... | @@ -2038,7 +2038,6 @@ |
2038 | 2038 | * @rq: request to be inserted |
2039 | 2039 | * @at_head: insert request at head or tail of queue |
2040 | 2040 | * @data: private data |
2041 | - * @reinsert: true if request it a reinsertion of previously processed one | |
2042 | 2041 | * |
2043 | 2042 | * Description: |
2044 | 2043 | * Many block devices need to execute commands asynchronously, so they don't |
2045 | 2044 | |
... | ... | @@ -2053,8 +2052,9 @@ |
2053 | 2052 | * host that is unable to accept a particular command. |
2054 | 2053 | */ |
2055 | 2054 | void blk_insert_request(request_queue_t *q, struct request *rq, |
2056 | - int at_head, void *data, int reinsert) | |
2055 | + int at_head, void *data) | |
2057 | 2056 | { |
2057 | + int where = at_head ? ELEVATOR_INSERT_FRONT : ELEVATOR_INSERT_BACK; | |
2058 | 2058 | unsigned long flags; |
2059 | 2059 | |
2060 | 2060 | /* |
2061 | 2061 | |
2062 | 2062 | |
... | ... | @@ -2071,20 +2071,12 @@ |
2071 | 2071 | /* |
2072 | 2072 | * If command is tagged, release the tag |
2073 | 2073 | */ |
2074 | - if (reinsert) | |
2075 | - blk_requeue_request(q, rq); | |
2076 | - else { | |
2077 | - int where = ELEVATOR_INSERT_BACK; | |
2074 | + if (blk_rq_tagged(rq)) | |
2075 | + blk_queue_end_tag(q, rq); | |
2078 | 2076 | |
2079 | - if (at_head) | |
2080 | - where = ELEVATOR_INSERT_FRONT; | |
2077 | + drive_stat_acct(rq, rq->nr_sectors, 1); | |
2078 | + __elv_add_request(q, rq, where, 0); | |
2081 | 2079 | |
2082 | - if (blk_rq_tagged(rq)) | |
2083 | - blk_queue_end_tag(q, rq); | |
2084 | - | |
2085 | - drive_stat_acct(rq, rq->nr_sectors, 1); | |
2086 | - __elv_add_request(q, rq, where, 0); | |
2087 | - } | |
2088 | 2080 | if (blk_queue_plugged(q)) |
2089 | 2081 | __generic_unplug_device(q); |
2090 | 2082 | else |
drivers/block/paride/pd.c
... | ... | @@ -723,7 +723,7 @@ |
723 | 723 | rq.ref_count = 1; |
724 | 724 | rq.waiting = &wait; |
725 | 725 | rq.end_io = blk_end_sync_rq; |
726 | - blk_insert_request(disk->gd->queue, &rq, 0, func, 0); | |
726 | + blk_insert_request(disk->gd->queue, &rq, 0, func); | |
727 | 727 | wait_for_completion(&wait); |
728 | 728 | rq.waiting = NULL; |
729 | 729 | if (rq.errors) |
drivers/block/sx8.c
... | ... | @@ -614,7 +614,7 @@ |
614 | 614 | spin_unlock_irq(&host->lock); |
615 | 615 | |
616 | 616 | DPRINTK("blk_insert_request, tag == %u\n", idx); |
617 | - blk_insert_request(host->oob_q, crq->rq, 1, crq, 0); | |
617 | + blk_insert_request(host->oob_q, crq->rq, 1, crq); | |
618 | 618 | |
619 | 619 | return 0; |
620 | 620 | |
... | ... | @@ -653,7 +653,7 @@ |
653 | 653 | crq->msg_bucket = (u32) rc; |
654 | 654 | |
655 | 655 | DPRINTK("blk_insert_request, tag == %u\n", idx); |
656 | - blk_insert_request(host->oob_q, crq->rq, 1, crq, 0); | |
656 | + blk_insert_request(host->oob_q, crq->rq, 1, crq); | |
657 | 657 | |
658 | 658 | return 0; |
659 | 659 | } |
drivers/scsi/scsi_lib.c
include/linux/blkdev.h
... | ... | @@ -544,7 +544,7 @@ |
544 | 544 | extern void blk_attempt_remerge(request_queue_t *, struct request *); |
545 | 545 | extern void __blk_attempt_remerge(request_queue_t *, struct request *); |
546 | 546 | extern struct request *blk_get_request(request_queue_t *, int, int); |
547 | -extern void blk_insert_request(request_queue_t *, struct request *, int, void *, int); | |
547 | +extern void blk_insert_request(request_queue_t *, struct request *, int, void *); | |
548 | 548 | extern void blk_requeue_request(request_queue_t *, struct request *); |
549 | 549 | extern void blk_plug_device(request_queue_t *); |
550 | 550 | extern int blk_remove_plug(request_queue_t *); |