diff options
| author | Bart Van Assche <[email protected]> | 2017-06-02 14:21:57 -0700 |
|---|---|---|
| committer | Martin K. Petersen <[email protected]> | 2017-06-12 20:55:59 -0400 |
| commit | 255ee9320e5dc46173bb94dbcd68e32f11fc10a9 (patch) | |
| tree | 85e2f5e9e53709c5bd54e58b70c336e92fed6b28 /tools/perf/scripts/python/export-to-postgresql.py | |
| parent | 66483a4a9f34427e3d6ec87d8e583f5d2a7cbb76 (diff) | |
scsi: Make __scsi_remove_device go straight from BLOCKED to DEL
If a device is blocked, make __scsi_remove_device() cause it to
transition to the DEL state. This means that all the commands issued in
.shutdown() will error in the mid-layer, thus making the removal proceed
without being stopped.
This patch is a slightly modified version of a patch from James
Bottomley. This patch avoids that the following lockup occurs:
Call Trace:
schedule+0x35/0x80
schedule_timeout+0x237/0x2d0
io_schedule_timeout+0xa6/0x110
wait_for_completion_io+0xa3/0x110
blk_execute_rq+0xdf/0x120
scsi_execute+0xce/0x150 [scsi_mod]
scsi_execute_req_flags+0x8f/0xf0 [scsi_mod]
sd_sync_cache+0xa9/0x190 [sd_mod]
sd_shutdown+0x6a/0x100 [sd_mod]
sd_remove+0x64/0xc0 [sd_mod]
__device_release_driver+0x8d/0x120
device_release_driver+0x1e/0x30
bus_remove_device+0xf9/0x170
device_del+0x127/0x240
__scsi_remove_device+0xc1/0xd0 [scsi_mod]
scsi_forget_host+0x57/0x60 [scsi_mod]
scsi_remove_host+0x72/0x110 [scsi_mod]
srp_remove_work+0x8b/0x200 [ib_srp]
Reported-by: Israel Rukshin <[email protected]>
Signed-off-by: Bart Van Assche <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
Cc: James Bottomley <[email protected]>
Cc: Israel Rukshin <[email protected]>
Cc: Max Gurtovoy <[email protected]>
Cc: Benjamin Block <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions