Brian King
43c8da907c
[SCSI] ibmvfc: Fix deadlock in EH
...
Fixes the following deadlock scenario shown below. We currently allow
queuecommand to send commands when the ibmvfc workqueue is scanning for
new rports, so we should also allow EH to function at this time as well.
scsi_eh_3 D 0000000000000000 12304 1279 2
Call Trace:
[c0000002f7257730] [c0000002f72577e0] 0xc0000002f72577e0 (unreliable)
[c0000002f7257900] [c0000000000118f4] .__switch_to+0x158/0x1a0
[c0000002f72579a0] [c0000000004f8b40] .schedule+0x8d4/0x9dc
[c0000002f7257b60] [c0000000004f8f08] .schedule_timeout+0xa8/0xe8
[c0000002f7257c50] [d0000000001d23e0] .ibmvfc_wait_while_resetting+0xe4/0x140 [ibmvfc]
[c0000002f7257d20] [d0000000001d3984] .ibmvfc_eh_abort_handler+0x60/0xe4 [ibmvfc]
[c0000002f7257dc0] [d000000000366714] .scsi_error_handler+0x38c/0x674 [scsi_mod]
[c0000002f7257f00] [c0000000000a7470] .kthread+0x78/0xc4
[c0000002f7257f90] [c000000000029b8c] .kernel_thread+0x4c/0x68
ibmvfc_3 D 0000000000000000 12432 1280 2
Call Trace:
[c0000002f7253540] [c0000002f72535f0] 0xc0000002f72535f0 (unreliable)
[c0000002f7253710] [c0000000000118f4] .__switch_to+0x158/0x1a0
[c0000002f72537b0] [c0000000004f8b40] .schedule+0x8d4/0x9dc
[c0000002f7253970] [c0000000004f8e98] .schedule_timeout+0x38/0xe8
[c0000002f7253a60] [c0000000004f80cc] .wait_for_common+0x138/0x220
[c0000002f7253b40] [c0000000000a2784] .flush_cpu_workqueue+0xac/0xcc
[c0000002f7253c10] [c0000000000a2960] .flush_workqueue+0x58/0xa0
[c0000002f7253ca0] [d0000000000827fc] .fc_flush_work+0x4c/0x64 [scsi_transport_fc]
[c0000002f7253d20] [d000000000082db4] .fc_remote_port_add+0x48/0x6c4 [scsi_transport_fc]
[c0000002f7253dd0] [d0000000001d7d04] .ibmvfc_work+0x820/0xa7c [ibmvfc]
[c0000002f7253f00] [c0000000000a7470] .kthread+0x78/0xc4
[c0000002f7253f90] [c000000000029b8c] .kernel_thread+0x4c/0x68
fc_wq_3 D 0000000000000000 10720 1283 2
Call Trace:
[c0000002f559ac30] [c0000002f559ace0] 0xc0000002f559ace0 (unreliable)
[c0000002f559ae00] [c0000000000118f4] .__switch_to+0x158/0x1a0
[c0000002f559aea0] [c0000000004f8b40] .schedule+0x8d4/0x9dc
[c0000002f559b060] [c0000000004f8e98] .schedule_timeout+0x38/0xe8
[c0000002f559b150] [c0000000004f80cc] .wait_for_common+0x138/0x220
[c0000002f559b230] [c0000000002721c4] .blk_execute_rq+0xb4/0x100
[c0000002f559b360] [d00000000036a1f8] .scsi_execute+0x118/0x194 [scsi_mod]
[c0000002f559b420] [d00000000036a32c] .scsi_execute_req+0xb8/0x124 [scsi_mod]
[c0000002f559b500] [d0000000000c1330] .sd_sync_cache+0x8c/0x108 [sd_mod]
[c0000002f559b5e0] [d0000000000c15b4] .sd_shutdown+0x9c/0x158 [sd_mod]
[c0000002f559b660] [d0000000000c16d0] .sd_remove+0x60/0xb4 [sd_mod]
[c0000002f559b700] [c000000000392ecc] .__device_release_driver+0xd0/0x118
[c0000002f559b7a0] [c000000000393080] .device_release_driver+0x30/0x54
[c0000002f559b830] [c000000000392108] .bus_remove_device+0x128/0x16c
[c0000002f559b8d0] [c00000000038f94c] .device_del+0x158/0x234
[c0000002f559b960] [d00000000036f078] .__scsi_remove_device+0x5c/0xd4 [scsi_mod]
[c0000002f559b9f0] [d00000000036f124] .scsi_remove_device+0x34/0x58 [scsi_mod]
[c0000002f559ba80] [d00000000036f204] .__scsi_remove_target+0xb4/0x120 [scsi_mod]
[c0000002f559bb10] [d00000000036f338] .__remove_child+0x2c/0x44 [scsi_mod]
[c0000002f559bb90] [c00000000038f11c] .device_for_each_child+0x54/0xb4
[c0000002f559bc50] [d00000000036f2e0] .scsi_remove_target+0x70/0x9c [scsi_mod]
[c0000002f559bce0] [d000000000083454] .fc_starget_delete+0x24/0x3c [scsi_transport_fc]
[c0000002f559bd70] [c0000000000a2368] .run_workqueue+0x118/0x208
[c0000002f559be30] [c0000000000a2580] .worker_thread+0x128/0x154
[c0000002f559bf00] [c0000000000a7470] .kthread+0x78/0xc4
[c0000002f559bf90] [c000000000029b8c] .kernel_thread+0x4c/0x68
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2009-06-08 13:07:42 -05:00
..
2009-05-16 01:55:59 -04:00
2009-05-15 14:14:56 -04:00
2009-04-13 15:04:33 -07:00
2009-05-08 19:22:21 -07:00
2009-04-28 20:24:20 +02:00
2009-05-19 11:25:35 -07:00
2009-04-21 13:41:47 -07:00
2009-05-17 15:48:05 -07:00
2009-05-12 14:41:48 -07:00
2009-04-21 13:41:51 -07:00
2009-05-02 15:36:10 -07:00
2009-04-03 15:24:35 -07:00
2009-05-16 01:55:59 -04:00
2009-05-11 17:09:21 +02:00
2009-05-08 20:27:28 +02:00
2009-05-12 11:21:51 -07:00
2009-05-16 19:03:36 +02:00
2009-04-07 08:31:10 -07:00
2009-04-07 08:31:11 -07:00
2009-05-23 15:44:13 -05:00
2009-05-12 11:21:24 -07:00
2009-05-09 10:51:34 -04:00
2009-04-08 14:13:48 +01:00
2009-04-19 23:14:01 +09:30
2009-04-24 08:16:05 -07:00
2009-05-07 12:51:06 +10:00
2009-05-09 18:54:32 -03:00
2009-04-07 08:31:11 -07:00
2009-04-21 13:41:50 -07:00
2009-04-05 00:32:25 +02:00
2009-05-15 12:20:57 -04:00
2009-05-05 08:23:16 -07:00
2009-05-18 08:36:21 -07:00
2009-05-15 12:02:06 -07:00
2009-04-05 11:04:19 -07:00
2009-04-14 08:48:50 -07:00
2009-04-07 08:44:06 -07:00
2009-05-15 16:47:55 -07:00
2009-04-23 23:25:40 +01:00
2009-05-14 11:28:27 -04:00
2009-05-08 00:22:29 -04:00
2009-04-08 17:45:02 -07:00
2009-04-07 08:31:11 -07:00
2009-05-18 11:21:10 +01:00
2009-05-12 14:11:35 -07:00
2009-05-23 15:44:16 -05:00
2009-04-14 19:46:19 -07:00
2009-06-08 13:07:42 -05:00
2009-05-15 08:05:02 -07:00
2009-04-06 08:55:19 -07:00
2009-04-07 08:31:10 -07:00
2009-05-12 14:11:34 -07:00
2009-05-08 19:39:28 -07:00
2009-05-14 13:40:53 -04:00
2009-04-16 16:17:11 -07:00
2009-05-18 08:37:15 -07:00
2009-04-07 08:31:11 -07:00
2009-05-14 13:50:25 +01:00
2009-04-19 23:14:01 +09:30
2009-04-05 00:32:22 +02:00
2009-04-23 23:25:41 +01:00
2009-05-05 11:43:13 -07:00
2009-04-29 15:41:13 -03:00