SCSI target development
 help / color / mirror / Atom feed
From: Konstantin Shelekhin <k.shelekhin@yadro.com>
To: Hannes Reinecke <hare@suse.de>
Cc: <target-devel@vger.kernel.org>, <linux@yadro.com>
Subject: Re: iSCSI Abort Task and WRITE PENDING
Date: Thu, 14 Oct 2021 10:52:57 +0300	[thread overview]
Message-ID: <YWfh2QwIuS8ndx8u@yadro.com> (raw)
In-Reply-To: <5b7c289a-c2bf-b7d0-9ee3-0692871333b0@suse.de>

On Thu, Oct 14, 2021 at 09:09:07AM +0200, Hannes Reinecke wrote:
> On 10/13/21 4:53 PM, Konstantin Shelekhin wrote:
> > On Wed, Oct 13, 2021 at 04:22:41PM +0200, Hannes Reinecke wrote:
> > > On 10/13/21 3:21 PM, Konstantin Shelekhin wrote:
> > > Short answer: you can't.
> > > 
> > > There is no feasible path in the I/O stack to abort running I/O; the
> > > only chance you have here is to wait for it to time-out.
> > > 
> > > We have run into similar issues, and found that the only sane solution
> > > was to wait for the I/O to come back and then retry.
> > > As this would take some time (30 seconds if you are unlucky) most
> > > initiators will get unhappy and try to reset.
> > > Which won't work, either, as the I/O is still stuck.
> > > So we finally delayed relogin until all I/O was cleared.
> > > 
> > > Not the best solution, but the only thing we can do in the absense of a
> > > proper I/O abort mechanism.
> > 
> > I'm not sure we are talking about the same bug. In this case the relogin
> > is not possible, because new connections are rejected by the target and
> > the existing one is not going anywhere, because it's deadlocked on ABORT
> > TASK. The only solution is to reset the server.
> > 
> Precisely.
> 
> Relogin fails as there is I/O outstanding on the original session, and you
> try to relogin into the same session. Which is still busy, hence you cannot
> login.
> 
> And I/O is outstanding as it can't be aborted, as the only transport
> implementing abort is target_core_user.c; for all the others you are
> screwed.

If I understand you correctly, you're talking about the very different
case where bios sent to a backend's block device get stuck. True, we can
do little in that case. In this case, however, there are no bios yet,
TCM is still waiting for the data from the initiator. We can do anything
we want here, because at this point TCM has complete control over the
request execution.

  reply	other threads:[~2021-10-14  7:53 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-13 13:21 iSCSI Abort Task and WRITE PENDING Konstantin Shelekhin
2021-10-13 14:22 ` Hannes Reinecke
2021-10-13 14:53   ` Konstantin Shelekhin
2021-10-13 14:56     ` Konstantin Shelekhin
2021-10-14  7:09     ` Hannes Reinecke
2021-10-14  7:52       ` Konstantin Shelekhin [this message]
2021-10-13 17:51 ` Mike Christie
2021-10-13 18:05   ` Mike Christie
2021-10-13 18:11     ` Konstantin Shelekhin
2021-10-13 18:08   ` Konstantin Shelekhin
2021-10-13 18:24     ` Mike Christie
2021-10-13 18:30       ` Mike Christie
2021-10-13 18:58         ` Konstantin Shelekhin
2021-10-13 19:01           ` Konstantin Shelekhin
2021-10-13 20:21             ` Mike Christie
2021-10-14 23:12               ` Konstantin Shelekhin
2021-10-15  3:18                 ` michael.christie
2021-10-18 11:56                   ` Konstantin Shelekhin
2021-10-18 16:29                     ` Mike Christie
2021-10-18 17:08                       ` Mike Christie
2021-10-26 10:59                         ` Konstantin Shelekhin
2021-10-18 17:32                       ` Konstantin Shelekhin
2021-10-18 20:20                         ` Mike Christie
2021-10-18 20:34                           ` Mike Christie
2021-10-18 21:50                             ` Konstantin Shelekhin
2021-10-18 21:48                           ` Konstantin Shelekhin

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=YWfh2QwIuS8ndx8u@yadro.com \
    --to=k.shelekhin@yadro.com \
    --cc=hare@suse.de \
    --cc=linux@yadro.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