On Sat, 2008-09-06 at 00:50 -0500, michaelc@xxxxxxxxxxx wrote: > From: Mike Christie <mchristi@xxxxxxxxxx> > > To prevent a reques from running forever, scsi-ml checks if > a command has been running req->timeout * cmd->allowed + 1 seconds. > If it has, scsi-ml will fail the request. From what I can tell > it looks like in Jen's tree that the block layer is not setting > this value, so a command is failed right away a lot of times because > wait_for in scsi_softirq_done is zero seconds. It is only set by ioctls > and passthrough. > > This patch just copies the q timeout that is used, so any one > checking it will still be able to see it. > > For the scsi-ml req->timeout usage, I think we can move the retries and > the infinite retry check from the scsi layer to the block layer. I was > not sure if we should do that in this patch or a separate one. I can > cook up another patch if people want. If it would be possible to do > that after MikeA's patches it would probably be best though since > he is working on that code too. Sure, basically move all responsibility for retries to block. That will require a few other things like abstracting scsi_decide_disposition. I actually had an impression from one of the storage summits that someone was working on this. James -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html