Re: [nfsv4] Progressing RFC errata for RFC 5661

Rick Macklem <rmacklem@uoguelph.ca> Wed, 18 September 2019 03:27 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 ACD2C120180 for <nfsv4@ietfa.amsl.com>; Tue, 17 Sep 2019 20:27:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=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 2iztYsvJWVpO for <nfsv4@ietfa.amsl.com>; Tue, 17 Sep 2019 20:27:32 -0700 (PDT)
Received: from CAN01-QB1-obe.outbound.protection.outlook.com (mail-eopbgr660066.outbound.protection.outlook.com [40.107.66.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A53EC120073 for <nfsv4@ietf.org>; Tue, 17 Sep 2019 20:27:31 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TMO1aYXB3/6NvJXXv7Iw/pIwFDB3B6Gi623DvwJVbwH9kECesvqspLQ/Vvapd/z/gFSUxZZz+IqAjAICsn35WjCYPwSN+wVJtxpadtojlULvxYuOZ2rg4wWRqREwtFABHh+ey10olScja1FN9sU4CC8FyUnYNhZQLh3l5ihf2qsye+xLc8825rQC8pn71grAFaiRY6yHbVpOaBdkLfKM87KU4uCiIXdRJVFDLmD/KbIp1TwaRBcawBSVa0LqYeEX/aemkuZEGX4Eb76+5mrPRi6Y7hDm6Ao1wzrNS+lrIZOcCpXyU+r3eapZSHrzT4unuRd5q6GkqZtyovOczBFM2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xdV1sVECOHivGWsdVbokXZt9phr2/sMgflKYKWIk32c=; b=SOW5tkM8HBkcJhT1lvkRCPMDJaW2SbAG0wBDwx7AcCYFOKM+25tbHbbmB+CFzBl6qXKoYl9aG3kvuyFyEZYO7BO/7DRQBLaUreyyJ2o6LMylxCD57GeH1dA6gqde7zCA9vZkL1HqGFdkkywu6V8x70YBkO+wPzd92XU98YZ68hpC+ettxWtd4uKeehwfgXuankStz6AErDQjd32KS54Q+AevCfnA+KIMS4AKA2mBN45tUI0d8QXLjs5YcAwSs9a+qa8g2Smw67xESPt1KdwMexq7MmMbAR5F0d/3+KdMbU1MTii9BWQxSQGIWI5UcFCCYvhN+o77QUeNRhf30MmqjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uoguelph.ca; dmarc=pass action=none header.from=uoguelph.ca; dkim=pass header.d=uoguelph.ca; arc=none
Received: from YTXPR0101MB2189.CANPRD01.PROD.OUTLOOK.COM (52.132.39.22) by YTXPR0101MB0896.CANPRD01.PROD.OUTLOOK.COM (52.132.34.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2263.23; Wed, 18 Sep 2019 03:27:29 +0000
Received: from YTXPR0101MB2189.CANPRD01.PROD.OUTLOOK.COM ([fe80::5413:22e8:7013:d8b9]) by YTXPR0101MB2189.CANPRD01.PROD.OUTLOOK.COM ([fe80::5413:22e8:7013:d8b9%5]) with mapi id 15.20.2263.023; Wed, 18 Sep 2019 03:27:29 +0000
From: Rick Macklem <rmacklem@uoguelph.ca>
To: Trond Myklebust <trondmy@gmail.com>, David Noveck <davenoveck@gmail.com>
CC: Magnus Westerlund <magnus.westerlund@ericsson.com>, NFSv4 <nfsv4@ietf.org>, "Mkrtchyan, Tigran" <tigran.mkrtchyan@desy.de>
Thread-Topic: [nfsv4] Progressing RFC errata for RFC 5661
Thread-Index: AQHVbM0EuGFC68ZdA0WMehAxtQCJUqcwwJsE
Date: Wed, 18 Sep 2019 03:27:29 +0000
Message-ID: <YTXPR0101MB2189B0CB69FA090BD1D54F92DD8E0@YTXPR0101MB2189.CANPRD01.PROD.OUTLOOK.COM>
References: <DB7PR07MB5736124B2F507DA20F317BC195B30@DB7PR07MB5736.eurprd07.prod.outlook.com> <CADaq8jd4u-Lwvy_Csu2jqrcGFZ_tLOeSkqKwUW0eivuc=trsBg@mail.gmail.com>, <CAABAsM5TDGx0qiMv+Ln4WLOKjuQiTFKr6HD6d9zqD3NfjpvoFg@mail.gmail.com>
In-Reply-To: <CAABAsM5TDGx0qiMv+Ln4WLOKjuQiTFKr6HD6d9zqD3NfjpvoFg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=rmacklem@uoguelph.ca;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: d542262b-ab16-46b4-6b5f-08d73be822a5
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600167)(711020)(4605104)(1401327)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:YTXPR0101MB0896;
x-ms-traffictypediagnostic: YTXPR0101MB0896:
x-ms-exchange-purlcount: 1
x-microsoft-antispam-prvs: <YTXPR0101MB08963FB63DA300B5D50D2385DD8E0@YTXPR0101MB0896.CANPRD01.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 01644DCF4A
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(396003)(136003)(366004)(39860400002)(376002)(51444003)(189003)(199004)(110136005)(316002)(74316002)(55016002)(71190400001)(81166006)(229853002)(71200400001)(6436002)(486006)(256004)(8676002)(8936002)(478600001)(81156014)(4326008)(25786009)(16799955002)(33656002)(14454004)(99286004)(6306002)(5660300002)(786003)(305945005)(446003)(54906003)(9686003)(46003)(102836004)(76176011)(66946007)(66556008)(64756008)(66446008)(7696005)(76116006)(86362001)(66476007)(6506007)(11346002)(186003)(476003)(6246003)(2906002)(52536014); DIR:OUT; SFP:1101; SCL:1; SRVR:YTXPR0101MB0896; H:YTXPR0101MB2189.CANPRD01.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: uoguelph.ca does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: SrlglVUTfmb2rzA4wRtqSXH0GQZ5166DaoK1j9IF+cKDu99R9Wk/zi/D8QvSdZV2ywkUvLAa+W8Z90RvCHzffnlwx+mnolFPg96scwd2VVEBrqKckKttEr9n0rsBzRyG8EsEJjRX6UWjpTTrA/WPi8Q9A5f2H5AuEuMKu1omy97OGo5HFUe4/fyySNBhZ2mS5CEVQbhyMgZDEZ7vHhCmrudTqvQgs7vD6WU95e+m9geQIDM49l60WxiHDkB9/xg4k5ykx7Jrru4AoGENehZA1lddUSc3uxxEXDTw0AqXdzHAhvVAOmwWe1HpMqeLGYrjy/2uD5IkIl2ObDHKC+KbzzBzItO8UoWLLTnu9Wa1JnbLrlzY7g49a6lrmlTVN7pghEg9j+aN/U/udZCoX8RLjO/BcqTPQGG7/osbuGp970A=
x-ms-exchange-transport-forked: True
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-Network-Message-Id: d542262b-ab16-46b4-6b5f-08d73be822a5
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Sep 2019 03:27:29.4603 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: zKqSZ67Ony8cNjT8GTntmwUNAfdrPh5p2UvftHY50hBIeqii4ssRXH4hhHGLTG6L9zRl698pelnjo2yFdxwSyg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: YTXPR0101MB0896
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/NcCa6vmnkiOpYF6UOvuZte8K1Bg>
Subject: Re: [nfsv4] Progressing RFC errata for RFC 5661
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
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, 18 Sep 2019 03:27:35 -0000

Trond Myklebust wrote:
>On Sun, 15 Sep 2019 at 09:44, David Noveck ><davenoveck@gmail.com<mailto:davenoveck@gmail.com>> wrote:
>>
>>An additional issue that needs to be addressed before incorporating these >>changes is that it is not appropriate to add extensive material about handling >>the file layout to Section 12.  That belongs in Section 13. We don't want to >>exacerbate the confusion that Tom has noted between statements about >>layouts in general and  about file layouts.  Rfc5661bis needs to do better in >>respect.
>>RFC5661 (2751<https://www.rfc-editor.org/verify_errata_select.php?eid=2751>)
>>GLOBAL
>>Technical
>>nfsv4 (tsv)
>>Ricardo Labiaga
>>
>>This is similar to the errata above although, because of the extensiveness of the 
>>changes proposed I think Rejected is more appropriate as an errata status.
>
>Rejecting this would break clients that have been encoded to rely on that >behaviour (i.e the Linux client, for one). Without it, we would be unable to >determine whether or not a LAYOUTCOMMIT is required for the files pNFS >layout type, and would have to default to assuming it does. That would put the >existing client base in violation. It would also force us to start sending >LAYOUTCOMMIT to servers that currently do not require it (i.e. NetApp).
Just fyi, this is what the FreeBSD client does. It always sends a Layoutcommit
to the MDS whenever an fsync(2) or similar is done and the client holds
a write layout for the file, unless the server replies NFS4ERR_NOTSUPP to Layoutcommit. (I think that the Netapp Filer replies NFS4ERR_NOTSUPP to Layoutcommit, which was why it disables doing Layoutcommits on a mount
once it sees a NFS4ERR_NOTSUPP reply.)
--> Layoutcommits are done even if the DS replies FILE_SYNC and/or the MDS
       sets commit-through-MDS.

>I'm not aware of any pNFS files server implementation that is in violation of this >errata and that is expecting a LAYOUTCOMMIT on a commit-through-MDS >implementation, or following a FILE_SYNC return from a commit-through-DS >implementation. Ccing Rick and Tigran for their input.
Well, when I first wrote the pNFS server, I assumed that the Layoutcommit
would be done and used it to synchronize the FileSize, Change attributes
between the DS and the ones cached in the MDS.

Then, I found out this didn't work for the Linux client, so I added a tunable
sysctl called vfs.nfsd.pnfsgetdsattr which tells the server to not cache
FileSize, Change when a write layout is issued to a client for the file.
As such, when this tunable is set (and that is the default), it works for the
Linux client, but is less efficient, since it must acquire FileSize, Change from
the DS whenever a Getattr requests them, if a write layout has been issued
for the file.
--> The FreeBSD server can be run either assuming the Layoutcommit is always
       done, or if the clients don't do them. In the latter case, it should work
       correctly even if a client never does a Layoutcommit.

I have not seen the wording of the actual errata (the links in these posts
require a login I don't have and I probably missed it when it was emailed),
but I am assuming that it says Layoutcommits should be done by the client
when the DS replies Unstable to writes and the MDS requires
commit-through-DS.

rick