> -----Original Message----- > From: James Bottomley [mailto:jbottomley@xxxxxxxxxxxxx] > Sent: Wednesday, June 4, 2014 10:02 AM > To: KY Srinivasan > Cc: linux-kernel@xxxxxxxxxxxxxxx; apw@xxxxxxxxxxxxx; > devel@xxxxxxxxxxxxxxxxxxxxxx; hch@xxxxxxxxxxxxx; linux- > scsi@xxxxxxxxxxxxxxx; ohering@xxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; > jasowang@xxxxxxxxxx > Subject: Re: [PATCH 1/1] [SCSI] Fix a bug in deriving the FLUSH_TIMEOUT > from the basic I/O timeout > > On Wed, 2014-06-04 at 09:33 -0700, K. Y. Srinivasan wrote: > > Commit ID: 7e660100d85af860e7ad763202fff717adcdaacd added code to > > derive the FLUSH_TIMEOUT from the basic I/O timeout. However, this > > patch did not use the basic I/O timeout of the device. Fix this bug. > > > > Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> > > --- > > drivers/scsi/sd.c | 4 +++- > > 1 files changed, 3 insertions(+), 1 deletions(-) > > > > diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index > > e9689d5..54150b1 100644 > > --- a/drivers/scsi/sd.c > > +++ b/drivers/scsi/sd.c > > @@ -832,7 +832,9 @@ static int sd_setup_write_same_cmnd(struct > > scsi_device *sdp, struct request *rq) > > > > static int scsi_setup_flush_cmnd(struct scsi_device *sdp, struct > > request *rq) { > > - rq->timeout *= SD_FLUSH_TIMEOUT_MULTIPLIER; > > + int timeout = sdp->request_queue->rq_timeout; > > + > > + rq->timeout = (timeout * SD_FLUSH_TIMEOUT_MULTIPLIER); > > Could you share where you found this to be a problem? It looks like a bug in > block because all inbound requests being prepared should have a timeout > set, so block would be the place to fix it. Perhaps; what I found was that the value in rq->timeout was 0 coming into this function and thus multiplying obviously has no effect. > > I can't see how this can happen because we definitely add the timer after the > request is prepared in my reading of the block code, unless I'm missing some > path in block that violates this. > > James K. Y _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel