Following login timeout, deadlock in iSCSI due to incorrect target layer error handling
Issue
- Following login timeout, deadlock in
iSCSI
due to incorrect target layer error handling:
Unable to recover from DataOut timeout while in ERL=0, closing iSCSI connection for I_T Nexus iqn.1991-05.com.<addr>,i,<addr>,iqn.1994-05.com.<addr>,0x01
Unable to recover from DataOut timeout while in ERL=0, closing iSCSI connection for I_T Nexus iqn.1991-05.com.<addr>,i,<addr>,iqn.1994-05.com.<addr>,t,0x01
Unable to recover from DataOut timeout while in ERL=0, closing iSCSI connection for I_T Nexus iqn.1991-05.com.<addr>,i,<addr>,iqn.1994-05.com.<addr>,t,0x01
....
iSCSI Login timeout on Network Portal 0.0.0.0:3260
iSCSI Login negotiation failed.
iSCSI Login timeout on Network Portal 0.0.0.0:3260
iSCSI Login negotiation failed.
iSCSI Login timeout on Network Portal 0.0.0.0:3260
iSCSI Login negotiation failed.
iSCSI Login timeout on Network Portal 0.0.0.0:3260
....
INFO: task kworker/23:0:2690086 blocked for more than 600 seconds.
Tainted: P OE --------- - - 4.18.0-372.9.1.el8.x86_64 #1
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:kworker/23:0 state:D stack: 0 pid:2690086 ppid: 2 flags:0x80004080
Workqueue: events iscsi_target_do_login_rx [iscsi_target_mod]
Call Trace:
__schedule+0x2d1/0x830
schedule+0x35/0xa0
schedule_timeout+0x274/0x300
? __kmalloc_track_caller+0x111/0x250
? iscsi_decode_text_input+0x307/0x840 [iscsi_target_mod]
? kfree+0x1b0/0x1f0
wait_for_completion+0x96/0x100
iscsi_check_for_session_reinstatement+0x1e4/0x280 [iscsi_target_mod]
iscsi_target_do_login+0x21d/0x570 [iscsi_target_mod]
iscsi_target_do_login_rx+0x288/0x370 [iscsi_target_mod]
? iscsi_target_restore_sock_callbacks+0xb0/0xb0 [iscsi_target_mod]
process_one_work+0x1a7/0x360
....
INFO: task kworker/0:2:2920313 blocked for more than 600 seconds.
Tainted: P OE --------- - - 4.18.0-372.9.1.el8.x86_64 #1
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:kworker/0:2 state:D stack: 0 pid:2920313 ppid: 2 flags:0x80004080
Workqueue: events target_tmr_work [target_core_mod]
Call Trace:
__schedule+0x2d1/0x830
schedule+0x35/0xa0
schedule_timeout+0x274/0x300
? target_append_str+0x44/0x60 [target_core_mod]
? __kmalloc_track_caller+0x111/0x250
? target_show_cmd+0x8a/0x2e0 [target_core_mod]
wait_for_completion+0x96/0x100
target_put_cmd_and_wait+0x6e/0x90 [target_core_mod]
core_tmr_lun_reset+0x3b1/0x6b0 [target_core_mod]
target_tmr_work+0xb4/0x110 [target_core_mod]
process_one_work+0x1a7/0x360
Environment
- Red Hat Enterprise Linux 8
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.