Bart Van Assche
dee7121e8c
scsi: core: Change the return type of .eh_timed_out()
...
Commit 6600593cbd ("block: rename BLK_EH_NOT_HANDLED to BLK_EH_DONE")
made it impossible for .eh_timed_out() implementations to call
scsi_done() without causing a crash.
Restore support for SCSI timeout handlers to call scsi_done() as follows:
* Change all .eh_timed_out() handlers as follows:
- Change the return type into enum scsi_timeout_action.
- Change BLK_EH_RESET_TIMER into SCSI_EH_RESET_TIMER.
- Change BLK_EH_DONE into SCSI_EH_NOT_HANDLED.
* In scsi_timeout(), convert the SCSI_EH_* values into BLK_EH_* values.
Reviewed-by: Lee Duncan <lduncan@suse.com >
Cc: Christoph Hellwig <hch@lst.de >
Cc: Ming Lei <ming.lei@redhat.com >
Cc: John Garry <john.garry@huawei.com >
Cc: Mike Christie <michael.christie@oracle.com >
Cc: Hannes Reinecke <hare@suse.de >
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
Link: https://lore.kernel.org/r/20221018202958.1902564-3-bvanassche@acm.org
Reviewed-by: Mike Christie <michael.christie@oracle.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2022-10-22 03:25:59 +00:00
John Garry
deef1be18e
scsi: core: Remove reserved request time-out handling
...
The SCSI core code does not currently support reserved commands. As such,
requests which time-out would never be reserved, and scsi_timeout()
'reserved' arg should never be set.
Remove handling for reserved requests, drop the wrapper scsi_timeout()
as it now just calls scsi_times_out() always, and finally rename
scsi_times_out() -> scsi_timeout() to match the blk_mq_ops method name.
Signed-off-by: John Garry <john.garry@huawei.com >
Reviewed-by: Bart Van Assche <bvanassche@acm.org >
Reviewed-by: Christoph Hellwig <hch@lst.de >
Reviewed-by: Hannes Reinecke <hare@suse.de >
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com >
Link: https://lore.kernel.org/r/1657109034-206040-2-git-send-email-john.garry@huawei.com
Signed-off-by: Jens Axboe <axboe@kernel.dk >
2022-07-06 06:33:53 -06:00
Khazhismel Kumykov
5c139ce9e1
scsi: core: docs: Update notes about scsi_times_out
...
Most importantly: eh_timed_out() is not limited by scmd->allowed, and can
reset timer forever.
Fixes: c829c39416 ("[SCSI] FC transport : Avoid device offline cases by stalling aborts until device unblocked")
Link: https://lore.kernel.org/r/20220219001601.3534043-1-khazhy@google.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org >
Signed-off-by: Khazhismel Kumykov <khazhy@google.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2022-02-27 21:32:28 -05:00
Mauro Carvalho Chehab
ce5c5d6503
scsi: docs: convert scsi_mid_low_api.txt to ReST
...
Link: https://lore.kernel.org/r/881e7741dfed5d6f5f73e1dfc2826b200b8604aa.1583136624.git.mchehab+huawei@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2020-03-11 23:08:02 -04:00
Mauro Carvalho Chehab
e513de9936
scsi: docs: convert scsi_eh.txt to ReST
...
Link: https://lore.kernel.org/r/300314197f2e6a3258200711e825aa04c9e8ceaf.1583136624.git.mchehab+huawei@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2020-03-11 23:08:01 -04:00