* [BUG] LIO iSCSI target deadlock on PR PREEMPT AND ABORT with concurrent I/O
@ 2026-06-23 18:14 David Teigland
0 siblings, 0 replies; only message in thread
From: David Teigland @ 2026-06-23 18:14 UTC (permalink / raw)
To: target-devel
Hi, I've been hitting the deadlocked threads copied below while running
some new lvm tests that are doing preempt-abort between VMs sharing an
iscsi target exported by a third VM. The problem occurs when sg_persist
register triggers udev probing/reads, followed quickly by sg_persist
preempt-abort (preempt without abort doesn't deadlock.) The combination
of probing reads, and preempt-abort often hits the deadlock. (I'm leaving
out the more extensive AI analysis and patch which I can't personally
vouch for, but can provide if it's useful.)
An effective work-around for now is calling udevadm settle after register.
Seen on Fedora kernel 6.19.10-300.fc44.x86_64 and a recent 7.1.0-rc.
Thanks,
Dave
task:iscsi_trx state:D stack:0 pid:1899 tgid:1899 ppid:2 task_flags:0x208140 flags:0x00080006
Call Trace:
<TASK>
__schedule+0x2b2/0x5d0
schedule+0x27/0x80
schedule_timeout+0xdc/0x120
wait_for_completion+0x9e/0x170
target_put_cmd_and_wait+0x6e/0xc0 [target_core_mod]
core_tmr_drain_state_list+0x2eb/0x3f0 [target_core_mod]
core_tmr_lun_reset+0xa0/0x280 [target_core_mod]
core_scsi3_pro_preempt+0x7a8/0x8e0 [target_core_mod]
target_scsi3_emulate_pr_out+0x298/0x3c0 [target_core_mod]
__target_execute_cmd+0x36/0xd0 [target_core_mod]
iscsit_execute_cmd+0x279/0x2b0 [iscsi_target_mod]
iscsit_sequence_cmd+0xf3/0x170 [iscsi_target_mod]
iscsit_get_immediate_data+0x71/0x190 [iscsi_target_mod]
iscsit_get_rx_pdu+0xe1/0x300 [iscsi_target_mod]
iscsi_target_rx_thread+0x8e/0x120 [iscsi_target_mod]
kthread+0xfa/0x240
ret_from_fork+0x130/0x1a0
ret_from_fork_asm+0x1a/0x30
</TASK>
task:iscsi_ttx state:D stack:0 pid:1898 tgid:1898 ppid:2 task_flags:0x208040 flags:0x00080002
Call Trace:
<TASK>
__schedule+0x2b2/0x5d0
schedule+0x27/0x80
schedule_timeout+0xdc/0x120
wait_for_completion+0x9e/0x170
kthread_stop+0x6e/0x190
iscsit_close_connection+0x49c/0x7a0 [iscsi_target_mod]
iscsit_take_action_for_connection_exit+0x80/0x140 [iscsi_target_mod]
iscsi_target_tx_thread+0x162/0x240 [iscsi_target_mod]
kthread+0xfa/0x240
ret_from_fork+0x130/0x1a0
ret_from_fork_asm+0x1a/0x30
</TASK>
task:iscsi_np state:D stack:0 pid:1885 tgid:1885 ppid:2 task_flags:0x208040 flags:0x00080002
Call Trace:
<TASK>
__schedule+0x2b2/0x5d0
schedule+0x27/0x80
schedule_timeout+0xdc/0x120
wait_for_completion+0x9e/0x170
iscsi_check_for_session_reinstatement+0x1f5/0x2d0 [iscsi_target_mod]
iscsi_target_handle_csg_one+0x114/0x130 [iscsi_target_mod]
iscsi_target_do_login+0x2d/0xd0 [iscsi_target_mod]
iscsi_target_start_negotiation+0x67/0x170 [iscsi_target_mod]
__iscsi_target_login_thread+0x37f/0x7d0 [iscsi_target_mod]
iscsi_target_login_thread+0x24/0x60 [iscsi_target_mod]
kthread+0xfa/0x240
ret_from_fork+0x130/0x1a0
ret_from_fork_asm+0x1a/0x30
</TASK>
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-23 18:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-23 18:14 [BUG] LIO iSCSI target deadlock on PR PREEMPT AND ABORT with concurrent I/O David Teigland
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.