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

Rick Macklem <rmacklem@uoguelph.ca> Mon, 17 July 2017 22:39 UTC

Return-Path: <rmacklem@uoguelph.ca>
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 73B34131CE8 for <nfsv4@ietfa.amsl.com>; Mon, 17 Jul 2017 15:39:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 spiv7CzopzuX for <nfsv4@ietfa.amsl.com>; Mon, 17 Jul 2017 15:39:43 -0700 (PDT)
Received: from CAN01-QB1-obe.outbound.protection.outlook.com (mail-eopbgr660040.outbound.protection.outlook.com [40.107.66.40]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3041E131CE5 for <nfsv4@ietf.org>; Mon, 17 Jul 2017 15:39:42 -0700 (PDT)
Received: from YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM (10.165.218.133) by YTXPR01MB0190.CANPRD01.PROD.OUTLOOK.COM (10.165.218.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13; Mon, 17 Jul 2017 22:39:41 +0000
Received: from YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM ([10.165.218.133]) by YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM ([10.165.218.133]) with mapi id 15.01.1261.022; Mon, 17 Jul 2017 22:39:41 +0000
From: Rick Macklem <rmacklem@uoguelph.ca>
To: Thomas Haynes <loghyr@primarydata.com>, "nfsv4@ietf.org" <nfsv4@ietf.org>
Thread-Topic: [nfsv4] I-D Action: draft-ietf-nfsv4-flex-files-10.txt
Thread-Index: AQHS/0Imd3ZPrJ8fZ0WnZ8Fe74OaPaJYh/KAgAAODK0=
Date: Mon, 17 Jul 2017 22:39:41 +0000
Message-ID: <YTXPR01MB018976132160BCC0FD3FFDBEDDA00@YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM>
References: <150032626766.24491.10112068414343721839@ietfa.amsl.com>, <626B1EB5-D799-4E29-ADC4-A55682124622@primarydata.com>
In-Reply-To: <626B1EB5-D799-4E29-ADC4-A55682124622@primarydata.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: primarydata.com; dkim=none (message not signed) header.d=none;primarydata.com; dmarc=none action=none header.from=uoguelph.ca;
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; YTXPR01MB0190; 7:3ZIaCmubhD88Wqtz8s7qrdwkCsTiuG1IF3lSfIOk2CRsDnp7IyjvgB9coYIJrA/Gtz5kNO3xnMRqJQ4+JxcXwIDEwORbaOHHbeMbB2FmxPaqfkMf+1Oi8glPEBdITRyJCmbsMHTtkiQIOVhxlL69R0gVmd6nqwFa07kSzaK6Sacv/fgJ3zBq90gQzf9Uqq9MpYzRqzgmZoowbgoLVtJiNVEIyO6UoAD7ULJjxpLq5VQCBy7kkmb9BkOTzkybVnvKJEvZB4XYzeF92s4DZwDyR14h8P3w2RoQ7aIhitGjGlxQUcg7MHPIkkoWhvRKVjtOzKAjsemGLHLh4YT4HMu1bEYD0+IA79Kw4QZFH35Q+1NkVIg2uFFexKCiNYnHC774EXn8bZa0hYgVVE1kpHbUN+eO8zGmu4jT5nJXmB7QpbbMAZA53i4dHQI7rDHltwpr/IL5cRUVHpduil0sGZJYaTYqnHW9ZloNic7XGARRddHVqYdGwDC49M+UP97aiYmBtcDZJJ9XMaPw1eLxPKg4+FiclLE3ofSEUrUpQpVxHeCRdWebGbmtzTa/i91ltORryzgLH98oAuBmawxXGj/i2ady/asbDK7IsSDYA2Kikowjt4RtnYPd4Eo2PcgwqFVMxG2G89EtBwpgDmsWRPqG7zXmNZVoI/FtqYYjfljTBuUlhlYaRLJHl9Pdri0v+lLYDe7C5hFWVFkikJqo91A4097hqoC6vEq9BigsjRRiQrlQ1uyWUmApEibVkbqac2m2Fcm7zb4fZVMs6IuLQpeWMo247HX4rVcZ6tJhVeF0NLQ=
x-ms-office365-filtering-correlation-id: d41b563b-7292-4cae-c10c-08d4cd64b6d7
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254075)(300000503095)(300135400095)(2017052603031)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:YTXPR01MB0190;
x-ms-traffictypediagnostic: YTXPR01MB0190:
x-exchange-antispam-report-test: UriScan:(278178393323532)(158342451672863)(236129657087228)(192374486261705)(209349559609743)(247924648384137);
x-microsoft-antispam-prvs: <YTXPR01MB0190C173F4CF2AF67150FDB9DDA00@YTXPR01MB0190.CANPRD01.PROD.OUTLOOK.COM>
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(2017060910075)(10201501046)(100000703101)(100105400095)(3002001)(93006095)(93001095)(6041248)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(20161123560025)(20161123562025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:YTXPR01MB0190; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:YTXPR01MB0190;
x-forefront-prvs: 0371762FE7
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(39840400002)(39450400003)(39410400002)(39400400002)(76176999)(81166006)(8676002)(54356999)(230783001)(6246003)(6436002)(86362001)(50986999)(7696004)(33656002)(38730400002)(3660700001)(2906002)(6506006)(3280700002)(74316002)(2900100001)(25786009)(5660300001)(305945005)(8936002)(55016002)(53936002)(9686003)(2501003)(102836003)(77096006)(74482002)(14454004)(229853002)(2950100002)(189998001)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:YTXPR01MB0190; H:YTXPR01MB0189.CANPRD01.PROD.OUTLOOK.COM; FPR:; SPF:None; MLV:sfv; LANG:en;
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: uoguelph.ca
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2017 22:39:41.2536 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d
X-MS-Exchange-Transport-CrossTenantHeadersStamped: YTXPR01MB0190
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/QN1rzpYBoMKjuKFprIQeY70-8pI>
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: Mon, 17 Jul 2017 22:39:45 -0000

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