SCSI target development
 help / color / mirror / Atom feed
From: David Teigland <teigland@redhat.com>
To: target-devel@vger.kernel.org
Subject: [BUG] LIO iSCSI target deadlock on PR PREEMPT AND ABORT with concurrent I/O
Date: Tue, 23 Jun 2026 13:14:42 -0500	[thread overview]
Message-ID: <ajrNEj-B63SDtZ9W@redhat.com> (raw)

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>


                 reply	other threads:[~2026-06-23 18:14 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ajrNEj-B63SDtZ9W@redhat.com \
    --to=teigland@redhat.com \
    --cc=target-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox