Commit 283369cc authored by Tejun Heo 's avatar Tejun Heo Committed by James Bottomley

[SCSI] make scsi_requeue_request() use blk_requeue_request()

scsi_requeue_request() used to use blk_insert_request() for requeueing
requests.  This depends on the unobvious behavior of
blk_insert_request() setting REQ_SPECIAL and REQ_SOFTBARRIER when
requeueing.  This patch makes scsi_queue_insert() use
blk_requeue_request().  As REQ_SPECIAL means special requests and
REQ_SOFTBARRIER is automatically handled by blk layer now, no flag
needs to be set.
Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 867d1191
...@@ -485,8 +485,13 @@ static void scsi_run_queue(struct request_queue *q) ...@@ -485,8 +485,13 @@ static void scsi_run_queue(struct request_queue *q)
*/ */
static void scsi_requeue_command(struct request_queue *q, struct scsi_cmnd *cmd) static void scsi_requeue_command(struct request_queue *q, struct scsi_cmnd *cmd)
{ {
unsigned long flags;
cmd->request->flags &= ~REQ_DONTPREP; cmd->request->flags &= ~REQ_DONTPREP;
blk_insert_request(q, cmd->request, 1, cmd, 1);
spin_lock_irqsave(q->queue_lock, flags);
blk_requeue_request(q, cmd->request);
spin_unlock_irqrestore(q->queue_lock, flags);
scsi_run_queue(q); scsi_run_queue(q);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment