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

Thomas Haynes <loghyr@primarydata.com> Wed, 19 July 2017 06:50 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 8333D12ECC8 for <nfsv4@ietfa.amsl.com>; Tue, 18 Jul 2017 23:50:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.49
X-Spam-Level:
X-Spam-Status: No, score=-2.49 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, URIBL_BLOCKED=0.001] 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 uyLEnadQuv7c for <nfsv4@ietfa.amsl.com>; Tue, 18 Jul 2017 23:50:56 -0700 (PDT)
Received: from us-smtp-delivery-194.mimecast.com (us-smtp-delivery-194.mimecast.com [216.205.24.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 AF30412ECB4 for <nfsv4@ietf.org>; Tue, 18 Jul 2017 23:50:56 -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=3++swqBgdpCB3VmPLCkgJ+Ls1pkkgOZnZsb8jzvBMV4=; b=YT+aOImBSuRL5++0kIkQI02DSOY8E0EuA0Qc+ZUrddKnXa1D3dltoYOB7woSk/qQ6eupTSNYREfZe5AWaA9GYmedA0SWKArCtfDG7ngJxYF3L5RpB/cWhehjg8oG2a9yJQ9PLHS5Bm565X7f5UCg0b/PZx9f5mTplGgqYOpC2mU=
Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02lp0016.outbound.protection.outlook.com [216.32.180.16]) (Using TLS) by us-smtp-1.mimecast.com with ESMTP id us-mta-113-K66-qGi6PMKgiADUFQ2BWQ-1; Wed, 19 Jul 2017 02:50:53 -0400
Received: from BY2PR1101MB1093.namprd11.prod.outlook.com (10.164.166.21) by BY2PR1101MB1095.namprd11.prod.outlook.com (10.164.166.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13; Wed, 19 Jul 2017 06:50:50 +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.024; Wed, 19 Jul 2017 06:50:50 +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/KAgAAUsYCAAKQwAIAASD2AgAEvIYA=
Date: Wed, 19 Jul 2017 06:50:49 +0000
Message-ID: <3B65C9D8-FB7A-4956-A7A4-6CF14C3BF5F9@primarydata.com>
References: <150032626766.24491.10112068414343721839@ietfa.amsl.com> <626B1EB5-D799-4E29-ADC4-A55682124622@primarydata.com> <YTXPR01MB018976132160BCC0FD3FFDBEDDA00@YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM> <8B8F4E97-9DB8-4383-96ED-3A99DAE1049C@primarydata.com> <YTXPR01MB0189B3E2F3721FA3C19CB780DDA10@YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM>
In-Reply-To: <YTXPR01MB0189B3E2F3721FA3C19CB780DDA10@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:14ca:25a2:43f7:4347]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BY2PR1101MB1095; 20:n0blWJ3BRtFJX6hp+D2eEuIg7gJ2i+vd4iJloldfQn9oxZuTrVmujjpLuoauc+H4pHI/xFBqV4cG2eKmBVQ6UH9H/q5B2XbQfY27QC5ENNkZBaDDR/dj/+ZImwoFIK5Bj9G8fq66D/We7YCh0jjttmkWoZgqrnfgWUIpllvWwPc=
x-ms-office365-filtering-correlation-id: 20b4f010-0d08-4379-e3e4-08d4ce727e07
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:BY2PR1101MB1095;
x-ms-traffictypediagnostic: BY2PR1101MB1095:
x-exchange-antispam-report-test: UriScan:(158342451672863)(236129657087228)(148574349560750)(247924648384137);
x-microsoft-antispam-prvs: <BY2PR1101MB1095966F45320786CB9E2342CEA60@BY2PR1101MB1095.namprd11.prod.outlook.com>
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(2017060910075)(3002001)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(6041248)(20161123560025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123558100)(2016111802025)(20161123562025)(6043046)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR1101MB1095; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR1101MB1095;
x-forefront-prvs: 0373D94D15
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39450400003)(39830400002)(39410400002)(39400400002)(43784003)(377454003)(24454002)(6436002)(33656002)(478600001)(229853002)(2900100001)(2906002)(81166006)(82746002)(8676002)(8936002)(77096006)(6486002)(6506006)(86362001)(83716003)(53546010)(7736002)(305945005)(25786009)(4326008)(3280700002)(3660700001)(6116002)(102836003)(189998001)(110136004)(6246003)(6512007)(53936002)(2950100002)(6916009)(54356999)(5660300001)(76176999)(50986999)(93886004)(38730400002)(99286003)(14454004)(36756003)(230783001)(42262002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2PR1101MB1095; H:BY2PR1101MB1093.namprd11.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en;
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-ID: <2F14D83E9461A04D938A0EDEC24CE064@namprd11.prod.outlook.com>
MIME-Version: 1.0
X-OriginatorOrg: primarydata.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jul 2017 06:50:49.8841 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 03193ed6-8726-4bb3-a832-18ab0d28adb7
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR1101MB1095
X-MC-Unique: K66-qGi6PMKgiADUFQ2BWQ-1
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/980zLxsk5H-Gn6q7vx0ixW4tRF4>
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: Wed, 19 Jul 2017 06:50:58 -0000

> On Jul 18, 2017, at 2:45 PM, Rick Macklem <rmacklem@uoguelph.ca> wrote:
> 
> Thomas Haynes wrote:
>> 
>> 
>> And as a client implementor, you are completely unaware of all of that.
> I did a partial implementation of the client side last year and, at least for normal
> operation, I think this statement is correct.
> 
> One case where the client "might" need to know is when the server is doing
> fencing.
> - Unless I have misunderstood it, for the loosely coupled model, the client will
>  see a NFS4ERR_ACCESS error when trying to do I/O on the storage server?
> - But what error does the client see for the tightly coupled model?


That would actually depend on how the fencing was done (it is totally up to
the control protocol).

The implementation might cause the storage device to return NFS4ERR_ACCESS
or NFS4ERR_BAD_STATEID. The key point is that when the client gets an error
from the storage device, it is responsible for returning the layout to the mds.

The exception being NFS4ERR_DELAY - the client may want to retry the IO.

> 
> Put another way, I think the client will need to be able to recognize the difference
> between "fencing" and a typical NFS4ERR_ACCESS due to permissions on a tightly
> coupled server.

I don’t think so. Consider that the client already passed permission checking to
get the file open and the layout. Now it could get the error either because it
does not have write permission or the permissions on the file was closed.

In any event, on any error, the client should return the layout (along with the error)
to the MDS. It can then ask for the LAYOUT again. At which point the mds either
assigns the new layout or does not provide a new layout (forcing IO to the mds)
or it could return NFS4ERR_ACCESS if the permissions had changed.


> (My partial implementation didn't include code to deal with mirrors or the case
> where one mirror has failed or been fenced off, so I didn't deal with this case.)
> 
> I'll dig into -11 later to-day.
> 
> Thanks again, rick
>