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

Mallikarjun Chadalapaka <cbm@chadalapaka.com> Tue, 25 September 2012 19:22 UTC

Return-Path: <cbm@chadalapaka.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 81D3221F88A3 for <storm@ietfa.amsl.com>; Tue, 25 Sep 2012 12:22:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
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 6Mr+D54OXhIi for <storm@ietfa.amsl.com>; Tue, 25 Sep 2012 12:22:32 -0700 (PDT)
Received: from am1outboundpool.messaging.microsoft.com (am1ehsobe006.messaging.microsoft.com [213.199.154.209]) by ietfa.amsl.com (Postfix) with ESMTP id 8780421F889C for <storm@ietf.org>; Tue, 25 Sep 2012 12:22:24 -0700 (PDT)
Received: from mail4-am1-R.bigfish.com (10.3.201.242) by AM1EHSOBE008.bigfish.com (10.3.204.28) with Microsoft SMTP Server id 14.1.225.23; Tue, 25 Sep 2012 19:22:20 +0000
Received: from mail4-am1 (localhost [127.0.0.1]) by mail4-am1-R.bigfish.com (Postfix) with ESMTP id A22F72A00F9; Tue, 25 Sep 2012 19:22:20 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:157.56.240.117; KIP:(null); UIP:(null); IPV:NLI; H:BL2PRD0610HT001.namprd06.prod.outlook.com; RD:none; EFVD:NLI
X-SpamScore: -35
X-BigFish: PS-35(zzbb2dI98dI9371I542M1432I103eM4015I1447Id6f1izz1202h1d1ah1d2ahzz1033IL8275bh8275dhz2fh2a8h668h839h944hd25hf0ah107ah1220h1288h12a5h12a9h12bdh137ah13b6h1155h)
Received-SPF: pass (mail4-am1: domain of chadalapaka.com designates 157.56.240.117 as permitted sender) client-ip=157.56.240.117; envelope-from=cbm@chadalapaka.com; helo=BL2PRD0610HT001.namprd06.prod.outlook.com ; .outlook.com ;
Received: from mail4-am1 (localhost.localdomain [127.0.0.1]) by mail4-am1 (MessageSwitch) id 134860093848309_7841; Tue, 25 Sep 2012 19:22:18 +0000 (UTC)
Received: from AM1EHSMHS013.bigfish.com (unknown [10.3.201.248]) by mail4-am1.bigfish.com (Postfix) with ESMTP id F2F0540061; Tue, 25 Sep 2012 19:22:17 +0000 (UTC)
Received: from BL2PRD0610HT001.namprd06.prod.outlook.com (157.56.240.117) by AM1EHSMHS013.bigfish.com (10.3.207.151) with Microsoft SMTP Server (TLS) id 14.1.225.23; Tue, 25 Sep 2012 19:22:16 +0000
Received: from BL2PRD0610MB361.namprd06.prod.outlook.com ([169.254.12.31]) by BL2PRD0610HT001.namprd06.prod.outlook.com ([10.255.101.36]) with mapi id 14.16.0190.008; Tue, 25 Sep 2012 19:22:16 +0000
From: Mallikarjun Chadalapaka <cbm@chadalapaka.com>
To: Ralph Weber <roweber@ieee.org>, "storm@ietf.org" <storm@ietf.org>
Thread-Topic: [storm] SPC-2 reserve/release: Proposed text
Thread-Index: Ac2bNKguGPJW+zTbTTC2uDGdWEV2OAACjEkAAALD63A=
Date: Tue, 25 Sep 2012 19:22:15 +0000
Message-ID: <E160851FCED17643AE5F53B5D4D0783A451DBAB6@BL2PRD0610MB361.namprd06.prod.outlook.com>
References: <8D3D17ACE214DC429325B2B98F3AE7120DE7946D@MX15A.corp.emc.com> <5061E27A.7000109@ieee.org>
In-Reply-To: <5061E27A.7000109@ieee.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [131.107.174.24]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: chadalapaka.com
Subject: Re: [storm] SPC-2 reserve/release: Proposed text
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: Tue, 25 Sep 2012 19:22:33 -0000

Hi David, thanks for the first draft. I have a few quick comments.
1) IMHO, opening sentence of "I_T nexus state includes reservation state" is a little too broad, particularly since you go on to spell out two kinds of reservation state. So it can easily be misconstrued as suggesting that I_T nexus state includes persistent reservation state - however the following text correctly states that persistent reservations are unaffected by I_T nexus loss. Persistent reservation state is a device server state, but it is held by one or more I_T nexus(es).
2) Hard reset is not an LU reset - it is either an iSCSI Target Warm Reset, or (more likely) an iSCSI Target Cold Reset. In either case, any of the three resets should clear the reserve/release state.
3) Should use Time2Retain+Time2Wait, not Default Time2Wait
4) Session recovery does not necessarily preserve the I_T nexus state (recovery may not occur within Time2Wait+Time2Retain, and may not use the same ISID when it occurs), but session reinstatement and session continuation certainly should.
5) Should articulate the underlying linkage between Time2Retain (an iSCSI concept), and the reserve/release state (a SCSI state).

Thanks.

Mallikarjun


Here is the revised text addressing the above comments:

  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 in [SPC3] and SHOULD NOT be
  used; persistent reservations SHOULD be used instead.  

  The reservation 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 - nonetheless, when reserve/release 
  reservations are supported by an iSCSI target implementation, 
  the implementations should consider the I_T nexus state to include SCSI reserve/release 
  reservation state.  The preferred implementation approach is to preserve reserve/release
  reservation state along with other I_T nexus state until  iSCSI session
  reinstatement (Section 6.3.5) or continuation via session continuation (Section 6.3.6).

  Two additional considerations are applicable to reserve/release reservations:

  - When the original iSCSI session, i.e. I_T nexus, is not reinstated 
     or continued by the initiator and if the target retains reserve/release 
     reservation state for an extended period of time, initiator may be 
     forced to issue a Target Cold Reset, or a Target Warm Reset, 
     or a Logical Unit Reset action (Section 11.5) in order to remove that 
     reservation state. So targets should apply the session-global Time2Wait
     and Time2Retain timeout values (Section 7.5) to manage the reserve/release 
     reservation state along with the rest of the iSCSI session 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], and the discussion in Annex B regarding how to apply 
      persistent reservations to realize the reserve/release reservation semantics.



-----Original Message-----
From: storm-bounces@ietf.org [mailto:storm-bounces@ietf.org] On Behalf Of Ralph Weber
Sent: Tuesday, September 25, 2012 9:58 AM
To: storm@ietf.org
Subject: Re: [storm] SPC-2 reserve/release: Proposed text

David,

I believe a paragraph break is needed as shown in the following:

>   Reserve/release reservations are obsolete [SPC3] and SHOULD NOT be
>   used; persistent reservations SHOULD be used instead.  [break] The 
> I_T Nexus
>   state for persistent reservations is generally required ...

The chances of confusion are high when a paragraph that begins with a discussion of reserve/release reservations continues into the persistent reservations territory.

Also please be aware that Annex B of SPC-4 describes the means by which the use of reserve/release reservations can be adapted to employ persistent reservations. I am not sure this an appropriate informative reference for an RFC, but it seems worthy of mention on this reflector.

All the best,

.Ralph

On 9/25/2012 10:44 AM, Black, David wrote:
> <WG chair hat off>
>
> Here's an initial attempt to propose text to deal with the reserve/ 
> release topic in the consolidated iSCSI draft.  Please comment, 
> correct, suggest edits, etc.
>
> The new text would be a new section 4.4.3.2 that would follow 4.4.3.1:
>
> 4.4.3.1. I_T Nexus State
>
>    Certain nexus relationships contain an explicit state (e.g.,
>    initiator-specific mode pages) that may need to be preserved by
>    the device server [SAM2] in a logical unit through changes or
>    failures in the iSCSI layer (e.g., session failures). In order for
>    that state to be restored, the iSCSI initiator should reestablish
>    its session (re-login) to the same Target Portal Group using the
>    previous ISID. That is, it should perform session recovery as
>    described in Chapter 6. This is because the SCSI initiator port
>    identifier and the SCSI target port identifier (or relative target
>    port) form the datum that the SCSI logical unit device server uses
>    to identify the I_T nexus.
>
> -------------------------------
>
> First, for clarity, the following change should be made in the above 
> 4.4.3.1 text to better identify the recovery mechanism:
>
> OLD
>    That is, it should perform session recovery as
>    described in Chapter 6.
> NEW
>    That is, it should recover the session via connection
>    reinstatement as described in Section 6.3.4.
> END
>
> I believe that a lower-case "should" remains appropriate for this text.
>
> -----------------------------------
>
> NEW TEXT (first draft):
>
> 4.4.3.2. I_T Nexus State: Reservations
>
>    The state of an I_T Nexus includes SCSI reservation state.  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.  The I_T Nexus
>    state for persistent reservations is generally 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 - nonetheless,
>    when reserve/release reservations are supported by an iSCSI target,
>    the preferred implementation approach is to preserve reserve/release
>    reservation state along with other I_T Nexus state for iSCSI session
>    recovery or continuation via connection reinstatement.
>
>    Two additional caveats apply to reserve/release reservations:
>
>    - Retention of reserve/release reservation state for an extended
> 	period of time may require a hard reset (e.g., LOGICAL UNIT RESET,
>        see section 11.5) in order to remove that state when connection
>        reinstatement is not performed.  The DefaultTime2Wait value
>        can be used to limit this retention time period (see section 13.15).
>
>    - 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].
>
> -----------------------
>
> Reference impacts: both [SPC2] and [SPC3] need to be normative 
> references, but [SPC4] can be an informative reference.
>
> -------------------------
>
> I deliberately used "the preferred iSCSI implementation approach"
> wording for reserve/release reservation state preservation 
> requirements, as SPC-2 is vague on this topic and I'm rather 
> uncomfortable with placing a requirement as strong as a "SHOULD" on an 
> obsolete mechanism that "SHOULD NOT" be used.
>
> 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