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

"Black, David" <david.black@emc.com> Thu, 27 September 2012 14:47 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 D82F621F852C for <storm@ietfa.amsl.com>; Thu, 27 Sep 2012 07:47:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level:
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[AWL=0.000, 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 Y7dIQJqR-EbW for <storm@ietfa.amsl.com>; Thu, 27 Sep 2012 07:47:07 -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 ECFC721F852E for <storm@ietf.org>; Thu, 27 Sep 2012 07:47:06 -0700 (PDT)
Received: from hop04-l1d11-si02.isus.emc.com (HOP04-L1D11-SI02.isus.emc.com [10.254.111.55]) by mexforward.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id q8REl4uJ031141 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 27 Sep 2012 10:47:05 -0400
Received: from mailhub.lss.emc.com (mailhub.lss.emc.com [10.254.222.130]) by hop04-l1d11-si02.isus.emc.com (RSA Interceptor); Thu, 27 Sep 2012 10:46:49 -0400
Received: from mxhub11.corp.emc.com (mxhub11.corp.emc.com [10.254.92.106]) by mailhub.lss.emc.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id q8REkm7T026970; Thu, 27 Sep 2012 10:46:48 -0400
Received: from mx15a.corp.emc.com ([169.254.1.83]) by mxhub11.corp.emc.com ([10.254.92.106]) with mapi; Thu, 27 Sep 2012 10:46:47 -0400
From: "Black, David" <david.black@emc.com>
To: Julian Satran <julian@satran.net>
Date: Thu, 27 Sep 2012 10:46:45 -0400
Thread-Topic: [storm] SPC-2 reserve/release text - version 6
Thread-Index: Ac2cV1jTBbQsTowrTQO1GweKNZL/AAAY50HA
Message-ID: <8D3D17ACE214DC429325B2B98F3AE7120DE798F9@MX15A.corp.emc.com>
References: <8D3D17ACE214DC429325B2B98F3AE7120DE797C4@MX15A.corp.emc.com> <4AE113CD-96D7-414D-8AAB-36ECF7FD89EA@satran.net>
In-Reply-To: <4AE113CD-96D7-414D-8AAB-36ECF7FD89EA@satran.net>
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: Thu, 27 Sep 2012 14:47:08 -0000

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