Re: [storm] SPC-2 reserve/release text - version 6

Julian Satran <julian@satran.net> Fri, 28 September 2012 06:03 UTC

Return-Path: <julian@satran.net>
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 6740321F841B for <storm@ietfa.amsl.com>; Thu, 27 Sep 2012 23:03:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.203
X-Spam-Level:
X-Spam-Status: No, score=-5.203 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, MIME_QP_LONG_LINE=1.396, RCVD_IN_DNSWL_MED=-4]
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 RMvr6iQA-r6q for <storm@ietfa.amsl.com>; Thu, 27 Sep 2012 23:03:18 -0700 (PDT)
Received: from eu1sys200aog104.obsmtp.com (eu1sys200aog104.obsmtp.com [207.126.144.117]) by ietfa.amsl.com (Postfix) with SMTP id 1C1F721F845D for <storm@ietf.org>; Thu, 27 Sep 2012 23:03:16 -0700 (PDT)
Received: from mail-we0-f172.google.com ([74.125.82.172]) (using TLSv1) by eu1sys200aob104.postini.com ([207.126.147.11]) with SMTP ID DSNKUGU9n0Ta/yIwxZDsdKf01f6dRX5JmTpM@postini.com; Fri, 28 Sep 2012 06:03:17 UTC
Received: by weyu46 with SMTP id u46so1189080wey.31 for <storm@ietf.org>; Thu, 27 Sep 2012 23:03:11 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=references:in-reply-to:mime-version:content-transfer-encoding :content-type:message-id:cc:x-mailer:from:subject:date:to :x-gm-message-state; bh=wiAI+vMNpW98FuTDl3Bj2Ew5NJoUU/AA7HRBcMRvzyg=; b=LpAlucldOIdkWfOLL6oBd8XepDbYxZHNFP2K9BJ6GePebO1w0iWTocYXugG8IY2qaL m4Jg2U9UuSivdwdecOzRkB+gEXtDflac/vsZ6rXzLSbzh4GbqFlFD5bUiMXN5h1BnOe0 czb1NJl6jqWDMlmza5jC6mxR2gxNNy3AVAoAtGQnL3KVJvE4X6A3lPFmQ/ZDpgfvBWyu T4M/sNoor6YKebf1ZfD9AzKllH6DCMtyraJ8BCAGm6YUX9ZcE5N0kH6RYL40CdTS8Srm zS7Q3pLBVD9OHFE3Go9EvFuKpZ5+xV+3UdXm+1BkG2ZlxVfYVj6kX4Rx2S96ouHayHYt DxKw==
Received: by 10.216.241.202 with SMTP id g52mr2965952wer.212.1348812191560; Thu, 27 Sep 2012 23:03:11 -0700 (PDT)
Received: from [192.168.0.102] (ip-54-21.sn2.eutelia.it. [83.211.54.21]) by mx.google.com with ESMTPS id fb20sm17360181wid.1.2012.09.27.23.03.08 (version=SSLv3 cipher=OTHER); Thu, 27 Sep 2012 23:03:09 -0700 (PDT)
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>
In-Reply-To: <FFEE311F0EC80C4EA64EC8757CAD0CD208EA8277@SACEXCMBX04-PRD.hq.netapp.com>
Mime-Version: 1.0 (1.0)
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
Message-Id: <EF9A0D09-7415-4460-9224-C9334EA71A68@satran.net>
X-Mailer: iPad Mail (10A403)
From: Julian Satran <julian@satran.net>
Date: Fri, 28 Sep 2012 08:03:21 +0200
To: "Knight, Frederick" <Frederick.Knight@netapp.com>
X-Gm-Message-State: ALoCoQnBQKz1aAQrUyyqcUjNUdyKdqkqWFX2jlXxRuneQr2vC5zQnuKC2rIdQUS3txaYJ4/V/ays
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 06:03:23 -0000

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