Re: [storm] SPC-2 reserve/release text - version 6
"Black, David" <david.black@emc.com> Fri, 28 September 2012 13:51 UTC
Return-Path: <david.black@emc.com>
X-Original-To: storm@ietfa.amsl.com
Delivered-To: storm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BFE8821F859A for <storm@ietfa.amsl.com>; Fri, 28 Sep 2012 06:51:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.584
X-Spam-Level:
X-Spam-Status: No, score=-102.584 tagged_above=-999 required=5 tests=[AWL=0.015, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Q5IlX9SjCLvy for <storm@ietfa.amsl.com>; Fri, 28 Sep 2012 06:51:26 -0700 (PDT)
Received: from mexforward.lss.emc.com (hop-nat-141.emc.com [168.159.213.141]) by ietfa.amsl.com (Postfix) with ESMTP id 50B3E21F85A2 for <storm@ietf.org>; Fri, 28 Sep 2012 06:51:25 -0700 (PDT)
Received: from hop04-l1d11-si04.isus.emc.com (HOP04-L1D11-SI04.isus.emc.com [10.254.111.24]) by mexforward.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id q8SDpPZo012489 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 28 Sep 2012 09:51:25 -0400
Received: from mailhub.lss.emc.com (mailhubhoprd02.lss.emc.com [10.254.221.253]) by hop04-l1d11-si04.isus.emc.com (RSA Interceptor); Fri, 28 Sep 2012 09:51:07 -0400
Received: from mxhub02.corp.emc.com (mxhub02.corp.emc.com [10.254.141.104]) by mailhub.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id q8SDp641020145; Fri, 28 Sep 2012 09:51:06 -0400
Received: from mx15a.corp.emc.com ([169.254.1.83]) by mxhub02.corp.emc.com ([10.254.141.104]) with mapi; Fri, 28 Sep 2012 09:51:06 -0400
From: "Black, David" <david.black@emc.com>
To: "Knight, Frederick" <Frederick.Knight@netapp.com>
Date: Fri, 28 Sep 2012 09:51:04 -0400
Thread-Topic: [storm] SPC-2 reserve/release text - version 6
Thread-Index: Ac2cNcys4MzRK8PXQu651fVKNuEIxQAXDfsAABnkfIAADjDW0AAa4S6gACikjGD//nJjgIAAECkggAAHbKA=
Message-ID: <8D3D17ACE214DC429325B2B98F3AE7120DE79B42@MX15A.corp.emc.com>
References: <8D3D17ACE214DC429325B2B98F3AE7120DE797C4@MX15A.corp.emc.com> <4AE113CD-96D7-414D-8AAB-36ECF7FD89EA@satran.net> <8D3D17ACE214DC429325B2B98F3AE7120DE798F9@MX15A.corp.emc.com> <FFEE311F0EC80C4EA64EC8757CAD0CD208EA8077@SACEXCMBX04-PRD.hq.netapp.com> <8D3D17ACE214DC429325B2B98F3AE7120DE7993C@MX15A.corp.emc.com> <FFEE311F0EC80C4EA64EC8757CAD0CD208EA8277@SACEXCMBX04-PRD.hq.netapp.com> <EF9A0D09-7415-4460-9224-C9334EA71A68@satran.net> <FFEE311F0EC80C4EA64EC8757CAD0CD208EA83F9@SACEXCMBX04-PRD.hq.netapp.com>
In-Reply-To: <FFEE311F0EC80C4EA64EC8757CAD0CD208EA83F9@SACEXCMBX04-PRD.hq.netapp.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-EMM-MHVC: 1
Cc: "storm@ietf.org" <storm@ietf.org>
Subject: Re: [storm] SPC-2 reserve/release text - version 6
X-BeenThere: storm@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Storage Maintenance WG <storm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/storm>, <mailto:storm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/storm>
List-Post: <mailto:storm@ietf.org>
List-Help: <mailto:storm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/storm>, <mailto:storm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Sep 2012 13:51:31 -0000
Fred, > If state is retained (it's an old "I" reconnecting), then which UA is defined > by SAM-3. > > If state is not retained (it's a new "I"), then the UA is defined by SAM-3. > > Since both old "I"s and new "I"s result in the "IF" condition being true, what > is the condition that would make the "IF" false? You almost answered your own question ;-). The answer is .... (drum roll) ... a target implementation based on RFC 3720 SAM-2, although I would hope that such implementations at least picked up RFC 5048's changes. The I_T Nexus Loss concept on which this UA discussion is based is part of the SCSI events and event notifications model that was introduced in SAM-3, but neither RFC 3720 nor RFC 5048 references SAM-3. There were definitely implementations of iSCSI based on SAM-2 - I agree with Julian that we should *not* be introducing a UA requirement in this draft that might break such implementations. Thanks, --David > -----Original Message----- > From: Knight, Frederick [mailto:Frederick.Knight@netapp.com] > Sent: Friday, September 28, 2012 8:38 AM > To: Julian Satran > Cc: Black, David; storm@ietf.org > Subject: RE: [storm] SPC-2 reserve/release text - version 6 > > OK, that's what I thought. > > If state is retained (it's an old "I" reconnecting), then which UA is defined > by SAM-3. > > If state is not retained (it's a new "I"), then the UA is defined by SAM-3. > > Since both old "I"s and new "I"s result in the "IF" condition being true, what > is the condition that would make the "IF" false? > > That "IF" language allows a target to loose state and not deliver any UA. > > Fred > > > -----Original Message----- > From: Julian Satran [mailto:julian@satran.net] > Sent: Friday, September 28, 2012 2:03 AM > To: Knight, Frederick > Cc: Black, David; storm@ietf.org > Subject: Re: [storm] SPC-2 reserve/release text - version 6 > > There is no such thing. And the reason the timeout is there is to limit the > amount of state the targets have to keep. A target may choose to accept very > large timeouts and then do what you wanted done but beyond that only the > power-up ua is required. > > julo > > Sent from my iPad > > On 28 בספט 2012, at 00:29, "Knight, Frederick" <Frederick.Knight@netapp.com> > wrote: > > > I would think if the ISID is not recognized as an old one, then it must be > recognized as a new one. If it is a new one, then it will get a UA: 29/00 > reflecting the first access after power on from the "new" initiator. > > > > Is there something other than new or old? Is there such a thing as a > middle-aged initiator? > > > > Fred > > > > -----Original Message----- > > From: Black, David [mailto:david.black@emc.com] > > Sent: Thursday, September 27, 2012 11:56 AM > > To: Knight, Frederick > > Cc: storm@ietf.org > > Subject: RE: [storm] SPC-2 reserve/release text - version 6 > > > > Fred, > > > > The problem is not that the device does not raise a UA, it's that the UA may > never be delivered. > > > > A summary of how this can happen is that the new connection with the same > ISID may not be recognized as reinstating or continuing the session at the > target if the timeouts have expired - the UA gets established, but nobody > shows up to pick it up in time, so the UA is discarded along with the rest of > the session state and the target fails to recognize the initiator's subsequent > ISID reuse even though the initiator believes that it's re- establishing the > session. > > > > This is further complicated by the UA that indicates nexus state > preservation not being specified in SAM-2. > > > > Thanks, > > --David > > > > > >> -----Original Message----- > >> From: Knight, Frederick [mailto:Frederick.Knight@netapp.com] > >> Sent: Thursday, September 27, 2012 11:11 AM > >> To: Black, David; Julian Satran > >> Cc: storm@ietf.org > >> Subject: RE: [storm] SPC-2 reserve/release text - version 6 > >> > >> I afraid I have to contest a little on this - if I understand this > >> discussion correctly. > >> > >> If a SCSI device loses any state and does not raise a UNIT ATTENTION, > >> then it is BROKEN. It is not a matter of anything in iSCSI (3720); I > >> think SAM and SPC are pretty clear on this. If there is no UNIT > >> ATTENTION, then state SHALL be preserved; otherwise, all sorts of > >> stuff will never work (mode page settings, RESERVE commands, all sorts of > stuff). > >> > >> Is someone really suggesting that some devices will drop state and > >> NOT tell the host, and somehow that it is OK to do that? > >> > >> The suggest rewording says this is possible. > >> > >> Fred > >> > >> -----Original Message----- > >> From: storm-bounces@ietf.org [mailto:storm-bounces@ietf.org] On > >> Behalf Of Black, David > >> Sent: Thursday, September 27, 2012 10:47 AM > >> To: Julian Satran > >> Cc: storm@ietf.org > >> Subject: Re: [storm] SPC-2 reserve/release text - version 6 > >> > >> Julian, > >> > >>> The text in 4.4.3 states the obvious (there is no other speced > >>> method for continuation or reinstatement). Moreover if the session > >>> is reinstated after time2wait you create a need for a UA (or at > >>> least suggest one) and that was not there. > >> > >> The UAs are courtesy of SAM-3 (and SAM-4). To encompass systems that > >> may not deliver these UAs and situations in which they don't occur > >> (e.g., the target doesn't recognize what happened as nexus > >> reestablishment, independent of what the initiator thinks it's doing) I > think the text should be rephrased as: > >> > >> If a Unit Attention condition results from session reestablishment, > >> the specific Unit Attention condition indicates whether nexus state > >> was preserved, see Section 6.3.4 of [SAM4]. > >> > >>> Just stating that creation/continuation of a session done according > >>> 6.x includes preservation of reserve/release state -that was already > >>> there implied by conformance to spc2 and the relation between it > >>> nexus and session. > >> > >> Unfortunately, SPC-2 is sufficiently imprecise on this subject that > >> such an implication is at best a "preferred implementation approach". > >> It's not a requirement that can be safely stated in any stronger > >> fashion without the risk of rendering existing implementations non- > compliant. > >> > >>> The new text you suggest to 4.4 is merely a best practices > >>> recommendations and will need additions once the new "locking" > >>> through compare-and-swap get in widespread use. > >> > >> It's definitely best practices recommendations - no argument there. > >> > >> For context, what Julian is referring to is use of the COMPARE AND > >> WRITE command that performs an atomic operation at the target instead > >> of using RESERVE and RELEASE to create a critical section at the > >> initiator based on read and write commands. > >> > >> COMPARE AND WRITE is in use - a sentence mentioning that command > >> could be added, although this best practices text is aimed primarily > >> at uses of reserve/release for long-term reservations. I think > >> there's an implicit "when a reservation is the desired behavior" > >> implication to the "persistent reservations SHOULD be used instead" > >> text that I don't think needs to be made explicit. OTOH, that "SHOULD" > >> could be changed to a "should", or it might be even better to rewrite > >> that text > >> as: > >> > >> persistent reservations are suggested as an alternative, see Annex B > >> of [SPC4]. > >> > >> In contrast, "SHOULD NOT be used" is clearly justified for > >> reserve/release reservations by [SPC3]. > >> > >> Thanks, > >> --David > >> > >> > >>> -----Original Message----- > >>> From: Julian Satran [mailto:julian@satran.net] > >>> Sent: Wednesday, September 26, 2012 10:25 PM > >>> To: Black, David > >>> Cc: storm@ietf.org > >>> Subject: Re: [storm] SPC-2 reserve/release text - version 6 > >>> > >>> David, > >>> > >>> The text in 4.4.3 states the obvious (there is no other speced > >>> method for continuation or reinstatement). Moreover if the the > >>> session is reinstated after time2wait you create a need for a UA (or > >>> at least suggest one) and that was not there. Just stating that > >>> creation/continuation of a session done according 6.x includes > >>> preservation of reserve/release state -that was already there > >>> implied by conformance to spc2 and the relation between it nexus and > session. > >>> > >>> The new text you suggest to 4.4 is merely a best practices > >>> recomendations and will need additions once the new "locking" > >>> through compare-and-swap get in widespread use. > >>> If instead we refrain from stating anything specific and state that > >>> target should maintain whatever state is required by SPC while a > >>> session is continued and may discard state when a session is > >>> terminated and may indicate that it discarded state through a ua you > >>> are on safer ground and do not create new requirement. > >>> > >>> Sent from my iPad > >>> > >>> On 27 בספט 2012, at 00:25, "Black, David" <david.black@emc.com> wrote: > >>> > >>>> Here's where I think we've arrived (I've made a few minor editorial > >>>> tweaks to what's been discussed). Despite all the detailed > >>>> discussion, I think this version 6 comes close to Julian's > >>>> suggestion > >> that: > >>>> > >>>>> i would mention only that the state that must be maintained while > >>>>> the session is maintained includes the reserve/release and leave > >>>>> it to > >>> that. > >>>> > >>>> Although we can't actually say "must" as that would be a new > >>>> requirement, and implementations differ in what they do about > >>>> reserve/release reservation state. The current language > >>>> characterizes retention of that state as the "preferred > >>>> implementation > >> approach". > >>>> > >>>> Beyond that, I think the two additional caveats about > >>>> reserve/release reservations (possible need for a reset, > >>>> potentially unexpected interaction with persistent reservations, > >>>> see below) are useful > >> to include. > >>>> > >>>> ----------------------------------------- > >>>> > >>>> [1] For clarity, the following change should be made in > >>>> 4.4.3.1: > >>>> > >>>> OLD > >>>> That is, it should perform session recovery as described in > >>>> Chapter 6. > >>>> NEW > >>>> That is, it should reinstate the session via iSCSI session > >>>> reinstatement (Section 6.3.5) or continue via session continuation > >>>> (Section 6.3.6). > >>>> END > >>>> > >>>> [2] Add the following sentence to the end of 4.4.3.1: > >>>> > >>>> The specific Unit Attention condition that results from session > >>>> reestablishment indicates whether nexus state was preserved, > >>>> see Section 6.3.4 of [SAM4]. > >>>> > >>>> [3] NEW TEXT: > >>>> > >>>> 4.4.3.2. Reservations > >>>> > >>>> There are two reservation management methods defined in the SCSI > >>>> standards, reserve/release reservations, based on the RESERVE and > >>>> RELEASE commands [SPC2], and persistent reservations, based on the > >>>> PERSISTENT RESERVE IN and PERSISTENT RESERVE OUT commands [SPC3]. > >>>> Reserve/release reservations are obsolete [SPC3] and SHOULD NOT be > >>>> used; persistent reservations SHOULD be used instead. > >>>> > >>>> State for persistent reservations is required to persist through > >>>> changes and failures at the iSCSI layer that result in I_T Nexus > >>>> failures, see [SPC3] for details and specific requirements. > >>>> > >>>> In contrast, [SPC2] does not specify detailed persistence > >>>> requirements for reserve/release reservation state after an I_T > >>>> Nexus failure. Nonetheless, when reserve/release reservations are > >>>> supported by an iSCSI target, the preferred implementation approach > >>>> is to preserve reserve/release reservation state for iSCSI session > >>>> reinstatement (see Section 6.3.5) or session continuation (see > >>>> Section 6.3.6). > >>>> > >>>> Two additional caveats apply to reserve/release reservations: > >>>> > >>>> - When connection failure causes the iSCSI session to fail, and > >>>> the session is not reinstated or continued, target retention > >>>> of that session's reserve/release reservation state may > >>>> require an initiator to issue a reset (e.g., LOGICAL UNIT RESET, > >>>> see section 11.5) in order to remove that reservation state. > >>>> > >>>> - Reserve/release reservations may not behave as expected when > >>>> persistent reservations are also used on the same logical unit; > >>>> see the discussion of "Exceptions to SPC-2 RESERVE and RELEASE > >>>> behavior" in [SPC4]. > >>>> > >>>> Thanks, > >>>> --David > >>>> ---------------------------------------------------- > >>>> David L. Black, Distinguished Engineer EMC Corporation, 176 South > >>>> St., Hopkinton, MA 01748 > >>>> +1 (508) 293-7953 FAX: +1 (508) 293-7786 > >>>> david.black@emc.com Mobile: +1 (978) 394-7754 > >>>> ---------------------------------------------------- > >>>> > >>>> > >>>> _______________________________________________ > >>>> storm mailing list > >>>> storm@ietf.org > >>>> https://www.ietf.org/mailman/listinfo/storm > >> > >> _______________________________________________ > >> storm mailing list > >> storm@ietf.org > >> https://www.ietf.org/mailman/listinfo/storm > > _______________________________________________ > > storm mailing list > > storm@ietf.org > > https://www.ietf.org/mailman/listinfo/storm
- [storm] SPC-2 reserve/release text - version 6 Black, David
- Re: [storm] SPC-2 reserve/release text - version 6 Julian Satran
- Re: [storm] SPC-2 reserve/release text - version 6 Black, David
- Re: [storm] SPC-2 reserve/release text - version 6 Knight, Frederick
- Re: [storm] SPC-2 reserve/release text - version 6 Black, David
- Re: [storm] SPC-2 reserve/release text - version 6 Knight, Frederick
- Re: [storm] SPC-2 reserve/release text - version 6 Julian Satran
- Re: [storm] SPC-2 reserve/release text - version 6 Knight, Frederick
- Re: [storm] SPC-2 reserve/release text - version 6 Black, David
- Re: [storm] SPC-2 reserve/release text - version 6 Knight, Frederick
- Re: [storm] SPC-2 reserve/release text - version 6 Black, David
- Re: [storm] SPC-2 reserve/release text - version 6 Knight, Frederick
- Re: [storm] SPC-2 reserve/release text - version 6 Black, David
- Re: [storm] SPC-2 reserve/release text - version 6 Knight, Frederick