Commit 867d1191fca388a79e4bb500dd85a9e871c96b99

Authored by Tejun Heo
Committed by James Bottomley
1 parent beb6617d99

[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)
... ... @@ -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
... ... @@ -92,7 +92,7 @@
92 92 */
93 93 sreq->sr_request->flags &= ~REQ_DONTPREP;
94 94 blk_insert_request(sreq->sr_device->request_queue, sreq->sr_request,
95   - at_head, sreq, 0);
  95 + at_head, sreq);
96 96 return 0;
97 97 }
98 98  
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 *);