Hello, Christoph Hellwig.

On Mon, Apr 11, 2005 at 01:44:19PM +0100, Christoph Hellwig wrote:
> > +   cmd->request->flags |= REQ_SOFTBARRIER;
> > +
> > +   spin_lock_irqsave(q->queue_lock, flags);
> > +   blk_requeue_request(q, cmd->request);
> > +   spin_unlock_irqrestore(q->queue_lock, flags);
> >  
> >     scsi_run_queue(q);
> 
> This exact code sequence is duplicated in the previous patch, maybe time
> for a
> 
> void scsi_requeue_request(struct request *rq)
> {
>       struct request_queue *q = rq->q;
>       unsigned long flags;
> 
>       rq->flags |= REQ_SOFTBARRIER;
> 
>       spin_lock_irqsave(q->queue_lock, flags);
>       blk_requeue_request(q, rq);
>       spin_unlock_irqrestore(q->queue_lock, flags);
>   
>       scsi_run_queue(q);
> }

 The duplicated code path is in scsi_queue_insert(), and the the
function is removed by later requeue path consolidation patchset.  So,
I don't think separating out scsi_requeue_request() is necessary.
However, I'm thinking about setting REQ_SOFTBARRIER right after
allocating cmd in prep_fn().  So that we don't have to set
REQ_SOFTBARRIER in three different places.  Also, IMHO, it better
represents the purpose of REQ_SOFTBARRIER.

 Thanks a lot for your input.  :-)

-- 
tejun

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to