Re: [nfsv4] Review comments for WGLC of draft-ietf-nfsv4-layout-types

Thomas Haynes <> Wed, 16 August 2017 17:56 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A9293126CB6 for <>; Wed, 16 Aug 2017 10:56:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id djdTNzEvEpyg for <>; Wed, 16 Aug 2017 10:56:56 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 0B5E113236D for <>; Wed, 16 Aug 2017 10:56:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=mimecast20170802; t=1502906215; h=from:subject:date:message-id:to:cc:mime-version:content-type:content-transfer-encoding:in-reply-to:references; bh=NHKf7gvLrlaOi9R4Ka+bK3bgV2g14kuc8iuwtTvc2t4=; b=Luj3V4YK2OnUVarXeHRPmrbM1B/VsRkIAL8lIQCUzd+2vh0CcbKvOSxuA33wG87p9FSVEZ3t/z3h6pvV5MAtLtGzSQxBQL287CDOux2QUzokgpzOmlh8BoriqtHSFegEoSmyN+PQfW2fOTQ5WNV9JcmzaboioAu+tlnHet/sGeg=
Received: from ( []) (Using TLS) by with ESMTP id us-mta-109-rtmAnVnzP7S32wWbs2mt4A-1; Wed, 16 Aug 2017 13:56:53 -0400
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1341.21; Wed, 16 Aug 2017 17:56:49 +0000
Received: from ([]) by ([]) with mapi id 15.01.1341.023; Wed, 16 Aug 2017 17:56:49 +0000
From: Thomas Haynes <>
To: hch <>
CC: Chuck Lever <>, "" <>
Thread-Topic: [nfsv4] Review comments for WGLC of draft-ietf-nfsv4-layout-types
Thread-Index: AQHTDHrZiISsN7s3MU64UU3+W1eRPaKGxHEAgACUqAA=
Date: Wed, 16 Aug 2017 17:56:49 +0000
Message-ID: <>
References: <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BY2PR1101MB1096; 20:m4iaGWHiut1kGwRwvowxLBGuaI8hBOVpSrwmdNovmXQITt0jbVTn6DcSEYvSGQ0FN60ZCe+5DjSx+Eau9OavQipUR1gaSQM7qwIHzdqbQcqUu13tANeLh4EEXEKKjmx5YCphmVRlAvJBxv03TSIFz05ZlxupyDDigzklGbhpDNU=
x-ms-exchange-antispam-srfa-diagnostics: SSOS;
x-ld-processed: 03193ed6-8726-4bb3-a832-18ab0d28adb7,ExtAddr
x-ms-office365-filtering-correlation-id: 496e9a1c-4157-46cb-1b4f-08d4e4d02b1e
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(2017082002075)(300000503095)(300135400095)(2017052603031)(201703131423075)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BY2PR1101MB1096;
x-ms-traffictypediagnostic: BY2PR1101MB1096:
x-exchange-antispam-report-test: UriScan:(158342451672863);
x-microsoft-antispam-prvs: <>
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6041248)(20161123558100)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(2016111802025)(20161123562025)(20161123564025)(20161123555025)(6072148)(6043046)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR1101MB1096; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR1101MB1096;
x-forefront-prvs: 0401647B7F
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39830400002)(24454002)(189002)(199003)(377454003)(77096006)(966005)(7736002)(305945005)(2906002)(53546010)(6486002)(3280700002)(6506006)(2900100001)(82746002)(68736007)(36756003)(229853002)(97736004)(14454004)(54906002)(6306002)(99286003)(6512007)(4326008)(53936002)(230783001)(189998001)(3846002)(6116002)(101416001)(102836003)(478600001)(105586002)(2950100002)(6246003)(83716003)(33656002)(25786009)(6916009)(8936002)(76176999)(81156014)(86362001)(54356999)(50986999)(106356001)(110136004)(66066001)(81166006)(6436002)(8676002)(5660300001)(3660700001)(42262002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2PR1101MB1096;; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-ID: <>
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Aug 2017 17:56:49.2087 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 03193ed6-8726-4bb3-a832-18ab0d28adb7
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR1101MB1096
X-MC-Unique: rtmAnVnzP7S32wWbs2mt4A-1
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
Archived-At: <>
Subject: Re: [nfsv4] Review comments for WGLC of draft-ietf-nfsv4-layout-types
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NFSv4 Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 16 Aug 2017 17:56:59 -0000

> On Aug 16, 2017, at 2:04 AM, Christoph Hellwig <> wrote:
> I don't have a whole lot of time to spare, so this is a very
> narrow review with the focus on interactions with the scsi
> and rdma layout types.
> The first thing I noticed is that section 3 claims:
> "There have been no published specifications for control protocols as yet."
> which I don't think is true any more.  The SCSI layout fully specifies
> the interaction between the MDS and the storage device, so it should
> be considered to include a control protocol.

RFC8154 doesn’t quite say that:

   The Server to Storage System protocol, called the "Control Protocol",
   is not of concern for interoperability, although it will typically be
   the same SCSI-based storage protocol.

I read that to say that it is possible for someone to implement the SCSI
layout without using the SCSI-based storage protocol. 

Going to the new terms:

  control communication requirements:  are for a layout type the
      details regarding information on layouts, stateids, file metadata,
      and file data which must be communicated between the metadata
      server and the storage devices.

   control protocol:  is the particular mechanism that an implementation
      of a layout type would use to meet the control communication
      requirement for that layout type.  This need not be a protocol as
      normally understood.  In some cases the same protocol may be used
      as a control protocol and data access protocol.

I would say that RFC8154 does fully meet the "control communication requirements”.

But based on the sentence above, I see a SHOULD on the use of the
SCSI-based storage protocol as a control protocol and not a MUST.

And given that RFC5663 also states:

   While the Server to
   Storage System protocol, called the "Control Protocol", is not of
   concern for interoperability here, it will typically also be a
   block/volume protocol when clients use block/ volume protocols.

and we don’t consider that layout type to have a control protocol.

> Note that in terms of specifications the it only uses SCSI and thus
> the storage protocol, but it uses different features in the SCSI
> specifications that are designed to be a control protocol, and the
> particular way in the MDS has to use SCSI persistent reservations
> could be considered a protocol by itself.  So the paragraph below
> about loose coupling doesn't really apply in this case either.

I think you are arguing that since RFC5663 did not address directly
how the mds would fence the client and RFC8154 does, that
a full control protocol does exist in RFC8154.  And that the
sentence in question should read:

   The Server to Storage System protocol, called the "Control Protocol",
   is the same SCSI-based storage protocol.

> All of that is pretty editorial though as it doesn't change any of
> the fundamentals of the section.
> I'm not sure what the point of
> "Whether the metadata server allows access over other protocols
> (e.g., NFSv3, Server Message Block (SMB), etc) is strictly an
> implementation choice, just as it is in the case of any other
> (i.e., non-pNFS-supporting) NFSv4.1 server."
> is.  While the statement is true nothing in NFS talks about
> cross-protocol access to servers, so I don't think it matters.

The point I was trying to make is that if the client wants
access to the storage devices by a non-supported layout type,
then it has to access the data through the mds.

But having thought about it, I don’t see the value of leaving that
sentence in place.

> Section 4.1 probably needs an update to include the SCSI layout
> given that it claims to document the existing layout types.

This was taken care of earlier by changing the title to:

4.  Specifications of Original Layout Types

>  The
> block layout section is more or less valid for the SCSI layout
> as well, so I would suggest to handle the SCSI layout in the
> same section.
> Another aspect that might be worth mentioning somewhere is
> that layouts may revoke access to the whole storage device
> for fencing when a layout recall is not acted upon.

I thought this covered that?

   In the context of fencing off of the client upon revocation of a
   layout, these limitations come into play again, i.e., the granularity
   of the fencing can only be at the host/logical-unit level.  Thus, if
   one of a client's layouts is revoked by the server, it will
   effectively revoke all of the client's layouts for files located on
   the storage units comprising the logical volume.  This may extend to
   the client's layouts for files in other file systems.  Clients need
   to be prepared for such revocations and reacquire layouts as needed.

> _______________________________________________
> nfsv4 mailing list