From: Vladislav Bolkhovitin <vst@vlnb.net>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Mike Christie <michaelc@cs.wisc.edu>,
Andrew Morton <akpm@linux-foundation.org>,
linux-scsi@vger.kernel.org, bugme-daemon@bugzilla.kernel.org,
bart.vanassche@gmail.com
Subject: Re: [Bugme-new] [Bug 9405] New: iSCSI does not implement ordering guarantees required by e.g. journaling filesystems
Date: Wed, 21 Nov 2007 15:31:21 +0300 [thread overview]
Message-ID: <47442519.5080108@vlnb.net> (raw)
In-Reply-To: <1195581426.3131.75.camel@localhost.localdomain>
James Bottomley wrote:
>>>>>if you specifically set TAS=1 you're giving up the right to know what
>>>>>caused the command termination. With insufficient information, it's
>>>>>really unsafe to simply retry, which is why the mid layer just returns
>>>>>TASK ABORTED as an error. If you set TAS=0 we'll get a check
>>>>>condition/unit attention explaining what happened (usually commands
>>>>>cleared by another initiator) and we'll explicitly do the right thing
>>>>>based on the sense data.
Actually, having TAS=1 has a considerably advantage over TAS=0 from
error recovery point of view. With TAS=1 all aborted commands are
supposed to be returned immediately to all affected initiators. With
TAS=0 affected initiators will not receive any notification about
aborted commands, only COMMANDS CLEARED BY ANOTHER INITIATOR UA will be
established. So, they will know about that only after there will be
timeout for their commands.
Thus, with TAS=1 almost immediate error recovery is possible, but with
TAS=0 error recovery is possible after timeout, which for SSC devices
can be hours.
>>>>But having TAS=1 is legal, right? So it should be handled well. If
>>>>TAS=0, TASK ABORTED can't be returned, it would be illegal. So, TASK
>>>>ABORTED status can only be returned with TAS=1.
>>>
>>>Driving with your handbrake on is legal too ... that doesn't mean you
>>>should do it ... and it certainly doesn't give you a legitimate
>>>complaint against the manufacturer of your car for excessive brake pad
>>>wear.
>>>
>>>We handle TASK ABORTED as well as we can (by failing it). For better
>>>handling set TAS=0 and we'll handle the individual cases according to
>>>the sense codes.
After some digging in SAM/SPC I've figured out that TASK ABORTED status
can be returned exactly in the same circumstances as COMMANDS CLEARED BY
ANOTHER INITIATOR UA, it only depends from TAS bit, which way of the
notification is used. So, TASK ABORTED status carries the same
information as COMMANDS CLEARED BY ANOTHER INITIATOR UA and should be
handled at the same way. I.e., if for COMMANDS CLEARED BY ANOTHER
INITIATOR UA the affected commands are restarted, they should be
restarted for TASK ABORTED status as well.
Vlad
next prev parent reply other threads:[~2007-11-21 12:31 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <bug-9405-10286@http.bugzilla.kernel.org/>
2007-11-19 20:50 ` [Bugme-new] [Bug 9405] New: iSCSI does not implement ordering guarantees required by e.g. journaling filesystems Andrew Morton
2007-11-19 20:56 ` James Bottomley
2007-11-19 21:22 ` Mike Christie
2007-11-19 21:28 ` James Bottomley
2007-11-20 15:04 ` Vladislav Bolkhovitin
2007-11-20 15:28 ` James Bottomley
2007-11-20 16:15 ` Vladislav Bolkhovitin
2007-11-20 16:43 ` James Bottomley
2007-11-20 17:17 ` Vladislav Bolkhovitin
2007-11-20 17:30 ` James Bottomley
2007-11-20 17:45 ` Vladislav Bolkhovitin
2007-11-20 17:52 ` Matthew Wilcox
2007-11-20 17:57 ` James Bottomley
2007-11-20 18:22 ` Vladislav Bolkhovitin
2007-11-21 12:31 ` Vladislav Bolkhovitin [this message]
2007-11-19 21:15 ` Mike Christie
2007-11-19 21:18 ` Matthew Wilcox
2007-11-19 21:24 ` Mike Christie
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=47442519.5080108@vlnb.net \
--to=vst@vlnb.net \
--cc=James.Bottomley@HansenPartnership.com \
--cc=akpm@linux-foundation.org \
--cc=bart.vanassche@gmail.com \
--cc=bugme-daemon@bugzilla.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=michaelc@cs.wisc.edu \
/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 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.