Re: [nfsv4] I-D Action: draft-ietf-nfsv4-flex-files-10.txt

Thomas Haynes <loghyr@primarydata.com> Tue, 18 July 2017 09:38 UTC

Return-Path: <loghyr@primarydata.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 043311315FE for <nfsv4@ietfa.amsl.com>; Tue, 18 Jul 2017 02:38:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.491
X-Spam-Level:
X-Spam-Status: No, score=-2.491 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_DKIM_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail (1024-bit key) reason="fail (message has been altered)" header.d=primarydata.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id D9gQc8zYlDPa for <nfsv4@ietfa.amsl.com>; Tue, 18 Jul 2017 02:38:32 -0700 (PDT)
Received: from us-smtp-delivery-194.mimecast.com (us-smtp-delivery-194.mimecast.com [63.128.21.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7C759126E3A for <nfsv4@ietf.org>; Tue, 18 Jul 2017 02:38:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=PrimaryData.onmicrosoft.com; s=selector1-primarydata-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=26Xtkvmi4okTeHbqWMcfYpiQ0386RVOxwcXHBCVjBeE=; b=Q65oayooaFF/IiebjjoKsJA6OQZzkzpeil8X5haAndgxZm4qpi7vwqdNwCMLEfYRhfo1lMP7RAJsqwffupqtZDaFMaFzOhbXtSBK3OiWQbkLp07ugO6+9szsfHjh+oC4ZP9TRXX3Azzw56G3wT9imRpTZzY+OUXnd3TNuYngvEw=
Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01lp0113.outbound.protection.outlook.com [207.46.163.113]) (Using TLS) by us-smtp-1.mimecast.com with ESMTP id us-mta-184-TtMwvDKhPj-DnN8siK88oA-1; Tue, 18 Jul 2017 05:38:29 -0400
Received: from BY2PR1101MB1093.namprd11.prod.outlook.com (10.164.166.21) by BY2PR1101MB1096.namprd11.prod.outlook.com (10.164.166.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13; Tue, 18 Jul 2017 09:38:27 +0000
Received: from BY2PR1101MB1093.namprd11.prod.outlook.com ([10.164.166.21]) by BY2PR1101MB1093.namprd11.prod.outlook.com ([10.164.166.21]) with mapi id 15.01.1261.022; Tue, 18 Jul 2017 09:38:27 +0000
From: Thomas Haynes <loghyr@primarydata.com>
To: Rick Macklem <rmacklem@uoguelph.ca>
CC: "nfsv4@ietf.org" <nfsv4@ietf.org>
Thread-Topic: [nfsv4] I-D Action: draft-ietf-nfsv4-flex-files-10.txt
Thread-Index: AQHS/0IpXiE4y7U2CUW8A15IRLPoMqJYh/KAgAAUsYCAAAoXgIAArfaA
Date: Tue, 18 Jul 2017 09:38:26 +0000
Message-ID: <11755003-F6A1-47AA-A983-0BE59E17F95A@primarydata.com>
References: <150032626766.24491.10112068414343721839@ietfa.amsl.com> <626B1EB5-D799-4E29-ADC4-A55682124622@primarydata.com> <YTXPR01MB018976132160BCC0FD3FFDBEDDA00@YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM> <YTXPR01MB018913EA80E680EFC2337541DDA00@YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM>
In-Reply-To: <YTXPR01MB018913EA80E680EFC2337541DDA00@YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [2001:67c:370:128:c9f0:8d97:a2a4:4e70]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BY2PR1101MB1096; 20:PWjlWtMGg6mN55mDfc3tBEm294iRIY5NI+4bfTHQsyX4OLb4WrbhOkrUO6TPZm2MN+3ZArmsAgpdzmVswlwNeewcow6NKnfbcShfqjd4Np7GbGVtqqIWWcDqVC651d2sKLjFJc7d1/WwQKGD5wh/IJCNC/YE7bF9Ok2tNRQ5UR4=
x-ms-office365-filtering-correlation-id: 8838c1aa-4816-4287-92a6-08d4cdc0be04
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254075)(300000503095)(300135400095)(2017052603031)(201703131423075)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BY2PR1101MB1096;
x-ms-traffictypediagnostic: BY2PR1101MB1096:
x-exchange-antispam-report-test: UriScan:(278178393323532)(158342451672863)(236129657087228)(192374486261705)(209349559609743)(247924648384137);
x-microsoft-antispam-prvs: <BY2PR1101MB10965BD9BE9C76B015959188CEA10@BY2PR1101MB1096.namprd11.prod.outlook.com>
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(2017060910075)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(6041248)(20161123564025)(2016111802025)(20161123558100)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(6072148)(6043046)(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: 037291602B
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39400400002)(39840400002)(39410400002)(39450400003)(377454003)(24454002)(102836003)(53936002)(2906002)(6116002)(81166006)(53546010)(8936002)(8676002)(50986999)(76176999)(54356999)(33656002)(3660700001)(3280700002)(189998001)(99286003)(6512007)(6306002)(36756003)(86362001)(966005)(6506006)(6436002)(82746002)(478600001)(93886004)(229853002)(4326008)(77096006)(6486002)(305945005)(230783001)(25786009)(7736002)(2900100001)(5660300001)(6246003)(110136004)(14454004)(83716003)(38730400002)(6916009)(2950100002)(42262002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2PR1101MB1096; H:BY2PR1101MB1093.namprd11.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en;
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-ID: <8E570FA980F35D42A72D3E5EED33D4D3@namprd11.prod.outlook.com>
MIME-Version: 1.0
X-OriginatorOrg: primarydata.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jul 2017 09:38:26.8805 (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: TtMwvDKhPj-DnN8siK88oA-1
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/PvToqsNXHicVmRtR2AtImgD1hr0>
Subject: Re: [nfsv4] I-D Action: draft-ietf-nfsv4-flex-files-10.txt
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Jul 2017 09:38:35 -0000

> On Jul 18, 2017, at 1:15 AM, Rick Macklem <rmacklem@uoguelph.ca> wrote:
> 
> Here's one more:
> Last para of 2.3.1
>   As the client never receives a stateid generated by a storage device,
>   there is no client lease on the storage device and no prospect of
>   lease expiration, even when access is via NFSv4 protocols.  Clients
>   will have leases on the metadata server.  In dealing with lease
>   expiration, the metadata server may need to use fencing to prevent
>   revoked stateids from being relied upon by a client unaware of the
>   fact that they have been revoked.
> 
> What about a loosely coupled NFSv4.1 storage server?
> If won't have any stateids, but it will have a clientid and session.
> I doubt that the server wants to hold onto the clientid forever?
> - I'd suggest that this case might require a simple recovery of
>  ExchangeID, CreateSession when the client receives a
>  NFS4ERR_BAD_SESSION error from the storage server.
> 

While true, I’m not sure it needs to be called out.


> I don't know if you call this "lease expiration", but I would have thought
> of it that way, rick
> 
> ________________________________________
> From: nfsv4 <nfsv4-bounces@ietf.org> on behalf of Rick Macklem <rmacklem@uoguelph.ca>
> Sent: Monday, July 17, 2017 6:39:41 PM
> To: Thomas Haynes; nfsv4@ietf.org
> Subject: Re: [nfsv4] I-D Action: draft-ietf-nfsv4-flex-files-10.txt
> 
> First off. I'd like to thank both Thomas and David for their work on this. I am happy to see
> active work on it.
> 
> 1 - I think I mentioned this, but I no longer care about the stuff I posted last year.
>      (Basically the case where a server might only require one mirror to be written and
>       how quickly changes to a mirror were to be propagated. Others may still feel that
>       this is useful, but it no longer matters to me;-)
> 
> I am thinking of posting one issue at a time, since they probably require discussion.
> (If you'd prefer one post with everything in it, just let me know and I'll hold off on
> further individual posts and make one "collective" post.)
> Having said the above, here's the first one:
> 
>> 2.1.  LAYOUTCOMMIT
>> 
>>  When tightly coupled storage devices are used, the metadata server
>>  has the responsibility, upon receiving a LAYOUTCOMMIT (see
>>  Section 18.42 of [RFC5661]), of ensuring that the semantics of pNFS
>>  are respected (see Section 12.5.4 of [RFC5661]).  These do not
>>  include a requirement that data written to data storage device be
>>  stable upon completion of the LAYOUTCOMMIT.
> 
> - The above sentence seems to imply that the client is responsible to do COMMITs
>   and seems to contradict the following para., which suggests that the COMMITs
>   are required for "loose coupling" only.
> 
>> In the case of loosely coupled storage devices, it is the
>> responsibility of the client to make sure the data file is stable
>> before the metadata server begins to query the storage devices about
>> the changes to the file.  If any WRITE to a storage device did not
>> result with stable_how equal to FILE_SYNC, a LAYOUTCOMMIT to the
>> metadata server MUST be preceded by a COMMIT to the storage devices
>> written to.  Note that if the client has not done a COMMIT to the
>>  storage device, then the LAYOUTCOMMIT might not be synchronized to
>>  the last WRITE operation to the storage device.
> - I think it would be simpler for a client implementor (like me;-) to just apply
>  this para. to both loose and tight coupling (ie. just drop the part of the first
>  sentence up to the "," and say "It is the responsibility of the client.."
> OR
> - Make it conditional on a flag returned by the MDS.
> 
> In general, most of the "tight" vs "loose" coupling seems to be confusing to me.
> I can see that there may be the two cases w.r.t. security:
> 1 - Use the synthetic uid/gid and AUTH_SYS only.
> OR
> 2 - Use the same model as the MDS (same uid/gid/authenticator) and let the
>     MDS<->DS figure out how to implement it.
> Again, I think a flag returned by the MDS to indicate which security model is being
> used would be simpler than the "tight" vs "loose" concept. (The document can mention
> that some control protocol may be needed for the server implementation, but the
> client only cares what it needs to do and not how the server chooses to implement it.)
> 
> I just find the "loose" vs "tight" coupling a somewhat confusing "catch all" and I think
> a few flags returned by the MDS to the client will clarify what the client needs to do,
> but this is just a suggestion and I'm happy with anything that works. (I think this also
> applies to Data Server vs Storage Server. To be honest, I'd just get rid of all mention
> of these and just call them all data servers?)
> 
> Again, thanks for working on this, rick
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4
>