block: unify request timeout handling
Right now SCSI and others do their own command timeout handling. Move those bits to the block layer. Instead of having a timer per command, we try to be a bit more clever and simply have one per-queue. This avoids the overhead of having to tear down and setup a timer for each command, so it will result in a lot less timer fiddling. Signed-off-by: Mike Anderson <andmike@linux.vnet.ibm.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
@@ -75,7 +75,6 @@ struct scsi_cmnd {
|
||||
|
||||
int retries;
|
||||
int allowed;
|
||||
int timeout_per_command;
|
||||
|
||||
unsigned char prot_op;
|
||||
unsigned char prot_type;
|
||||
@@ -86,7 +85,6 @@ struct scsi_cmnd {
|
||||
/* These elements define the operation we are about to perform */
|
||||
unsigned char *cmnd;
|
||||
|
||||
struct timer_list eh_timeout; /* Used to time out the command. */
|
||||
|
||||
/* These elements define the operation we ultimately want to perform */
|
||||
struct scsi_data_buffer sdb;
|
||||
@@ -139,7 +137,6 @@ extern void scsi_put_command(struct scsi_cmnd *);
|
||||
extern void __scsi_put_command(struct Scsi_Host *, struct scsi_cmnd *,
|
||||
struct device *);
|
||||
extern void scsi_finish_command(struct scsi_cmnd *cmd);
|
||||
extern void scsi_req_abort_cmd(struct scsi_cmnd *cmd);
|
||||
|
||||
extern void *scsi_kmap_atomic_sg(struct scatterlist *sg, int sg_count,
|
||||
size_t *offset, size_t *len);
|
||||
|
Reference in New Issue
Block a user