Re: [nfsv4] Can NFSv4.2 operations be optional on a per server file system basis?

Rick Macklem <rmacklem@uoguelph.ca> Thu, 21 October 2021 00:10 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 C09493A0A22 for <nfsv4@ietfa.amsl.com>; Wed, 20 Oct 2021 17:10:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.101
X-Spam-Level:
X-Spam-Status: No, score=-2.101 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=uoguelph.ca
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 DLyjlB78r-EA for <nfsv4@ietfa.amsl.com>; Wed, 20 Oct 2021 17:10:11 -0700 (PDT)
Received: from CAN01-QB1-obe.outbound.protection.outlook.com (mail-eopbgr660052.outbound.protection.outlook.com [40.107.66.52]) (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 8E3853A0A21 for <nfsv4@ietf.org>; Wed, 20 Oct 2021 17:10:11 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gb0HW/XzIkgfR3NkKQD5oL89AnUl1nKwWCFJzrvB335IQTXZXFlG1WxC2IdqdD50aWYVpWL2qYj0nKilZHL2DhEjTXjvVoyXnQh6K7j36n/sUezOLxAkXqqdHcMLPY5gobZK6nI43XFfrjskcGCd+IinnbFBH4xBQ5MUn0HYENrUMtewNKWAhLQNjn0WhWmmO+RmGzNGD5pLFhxJGRIN3R97fWmsYGCVppNBMWK1/OZrZvxnXdOCIwdXA3zllFuoh8eNfeNI5cE/PRbKv9dgrZI2/XXupHWzzMfcqiXB/Lja8QcSn1dveO4XIZ+3dn2E91L5F1xhij83o6TVt6VUVA==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=c/WcPc/GzdyI7kuN9hF+TE4S9a8RfmrCNcnV5fhnp/U=; b=Usd1POob6LLEpdDzjGJAzqzy5v5Jyw4Xsq850lyuCaw3z+E2ZVEgR+muR9CparxwWOSJJf6CuhCqTDKeJ5OM2drby7srdD6m1zPY2f84mTsaIbyMsFzOh5hkS3llWt5RZOz7JVpCiFXIu67QB5eAV0QKmSZjURtxN4Yd8bpJTBF3Gycv1Ywi4CW5Z/nM2USr89F7Z4NY2S74nRJq06da67OVO/8P7P9V4K9uJF54G1wybW+33Qt1ZQzbiFvAU0EPL+YgW4bmMa57h5WpBHP95d5rnFdfsuf945tC0wA4tiJ0GBC2w81jffKCdde7wjOREEvRLx7m/oQSmYY8ZWCHcQ==
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
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uoguelph.ca; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c/WcPc/GzdyI7kuN9hF+TE4S9a8RfmrCNcnV5fhnp/U=; b=AJvhn7DissU7ofC7DeHXZ/w3MprYqt8iArYM6e4aDBZfFRLqglrJkvEAdVpnfth2TRrB5MYlwz/5p4iRIEeab+jKagTqahqsdBdP8VMoLibG3lytUOZoAlOtQCjvX5bSdP6leP01EbsHutXVMzQyiZ92ccbjV+4ANCLBV8gamJiiKeWAAaoABN0mRjEsTIwRyhsOTHMQqSOX6Ks/goQ2NOqMaABCVUqOLTon+HeuEnN0r7RYPVFUMHrBoXI1tvKU8aOsXJkUvZ4/tn86f3lDFmzXkD+oZ5/wVNINcdC/E4DEluV19x1tst8gDoPwPFdnVaQwH8aKXuo57OVe6ZVEVQ==
Received: from YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:19::29) by QB1PR01MB2483.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:35::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.18; Thu, 21 Oct 2021 00:10:09 +0000
Received: from YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM ([fe80::7091:13ac:171f:1c12]) by YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM ([fe80::7091:13ac:171f:1c12%5]) with mapi id 15.20.4608.018; Thu, 21 Oct 2021 00:10:09 +0000
From: Rick Macklem <rmacklem@uoguelph.ca>
To: "J. Bruce Fields" <bfields@fieldses.org>
CC: David Noveck <davenoveck@gmail.com>, NFSv4 <nfsv4@ietf.org>
Thread-Topic: [nfsv4] Can NFSv4.2 operations be optional on a per server file system basis?
Thread-Index: AQHXvd+uy+0ZXP+Ezkai9otM7Jmjk6vMihAAgAATSmeAB09jAIAA0zIcgAXsCICAAfPukQ==
Date: Thu, 21 Oct 2021 00:10:08 +0000
Message-ID: <YQXPR0101MB0968B884DF6F28FFB3B5DCA2DDBE9@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>
References: <YQXPR0101MB0968D58C78D6E9ACBF7B8A3FDDB49@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM> <683B4D58-BFDF-465D-9E77-607819354EAA@gmail.com> <YQXPR0101MB0968AE1F6DD2D47EC458B7D7DDB49@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM> <CADaq8jcN5tv7RMOY=_1BktUsWkqEmUy-w2aygiURBNZC9LBPDQ@mail.gmail.com> <YQXPR0101MB09684B8F12901E7B0A796A97DDB99@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM> <20211019180511.GA18024@fieldses.org>
In-Reply-To: <20211019180511.GA18024@fieldses.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
suggested_attachment_session_id: a437f0c1-be42-c7bc-71d0-b10080921370
authentication-results: fieldses.org; dkim=none (message not signed) header.d=none;fieldses.org; dmarc=none action=none header.from=uoguelph.ca;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 9adc8482-846c-4c17-9f25-08d9942724b5
x-ms-traffictypediagnostic: QB1PR01MB2483:
x-microsoft-antispam-prvs: <QB1PR01MB248380D169962B93C5BB5ED6DDBF9@QB1PR01MB2483.CANPRD01.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Jlq9lBf9q4tDlhvELpR4Knu0NDjsTdxbY9ucD4D8wC8BGB48v95VVMkD1fW+InUUTSeoUeT3K6WtvMZOtw6aY25rmBja/Pxvo60mIeq5wecrE3i+uIWyvVmkAFCR7KyH4aGbVyITDW7WLLn30J3OZIyJScuskTu3u8SY0uBglF41Vztqb0Xkg4+7oW0B6vms2jLiBTszFhqFlr/paFwEIzCXFfOPfeSjg9s3YC09a07LzK/GIMzSKvT0dKyDfOl/tRCORTJcD6dJachXagb27kkEe0rvyhnGw1rmus1DlDMmmT3gEG5g/L4dOx6Cr8nUFQZqAQze3BFse6MCJ/uH+UIVzfZ0Awhoigv1mQH0EGTvyQE9/880NPF6opZ/sjB8fkSEhgyAwmjPTnq4r3b7MueGbZk4Q0Fjaxo3R0RHufd3i92qYgX9MNobr9zP2xVRcrJEJI4ujbeyagxHC2JkJnOpBevQ/3QK5OPngJUyeTNOR0CCjhlFV68pcGFYhEvnY+M8IhIk7QJ6Nhc2VNVIGKi+aywIj0A1dZNav5467PLMClbWIRDP+fpalzlVJjKz8Er+KSYWZjWFadigLSvbIuvtkcbeP4mG2iNORes0xnU3up8g5bCN4eQWhDqNGzBC1ztGGMihkqmdKHsV9BJaGl4XmlJi/WkrbWz19d6ipns/uFnkUallJY024E/US++Tj/p5t53FpOQJqWd692a82g==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(366004)(38100700002)(316002)(33656002)(76116006)(86362001)(55016002)(54906003)(9686003)(71200400001)(83380400001)(66446008)(66946007)(38070700005)(2906002)(52536014)(122000001)(91956017)(508600001)(8676002)(786003)(6506007)(64756008)(66556008)(66476007)(4326008)(5660300002)(6916009)(8936002)(186003)(7696005); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 1mppSXfQ47VXwtRILf7nFr9mo/Vf1DD5nQd802D+lsYpYEyn17qlwZxCwo4wX1TM/UavF7T2Ro7HUO0xQDfVAy01xRE0Va9zpcLh7C43FPhxQ7Tn6Of5deOT2q8kbZ3rrIEscIT62MDiT1awZToqMhkqDqjRzWJQcRUbr1ij0Gtj0Z0t1t1GWs+8LEN1d3O6X0IzG58160MNFQMqXL9H5Sd5UzdoyaHKmvOfnz1GowgcquSGj6ofnzPG/NzBPv6SuTryHJlye3x1Q+L4cqI0vdGmiPvKGmgMSlTH9p4jSW3ILUqoDD0QB9VUOX48cs46mG1BOB5G/2utGvdCLXj4E0UgTDGYeALda5NPpd0pFwWnOxLdhfBGYid9Z3q50cdhOiuNfacWUjYFRAlgxA3SuqaHM9xhXZ/CXRnbF368i/wlja+AGB/PiRdgREpNex1mbzbQnAl9DN4IIAPXJZWv1lfHvLnKDG5gDw8FaEv+VDtdfMqwfZvvjpVGJH9NVSOGY2Ubk3sAnuSyAnTsW1m+SNue5neYwar5WpPTjRYiEg0cGdoFdAbF/lpNMbrfa1UeBAK7/X2Sq0/oNN3X4hjoIUHnNenSeZx/OY2NDL8RR0tYzgZ3OxPCmczTom040p6ttxmUHwtjFmoTeKCEj8AgC8Cj3kAlYm8qj4EeQJEiaYswoOBgUcl+pV/Ctc01Dpi8AyAkgqyh5Z3FD4Kpwsg0UhF82UbNTzI7J1qae+tfXysjK1V7Xt1gpqRyYS3aWiBlqtU/8AlDovS6jFDwCIT4raaLeilWLDs0ATumdA9IHf0baNQaGBQ6yz5cKgjlT5yTr5RmLxsY5Aczc81mDlVnb9DqJkdeWuNAGKfwFc46Tj/Ops5YhbZPr3LLqINq2R5qelXRvvYigYV5RZejjcSqCkR7Jq9wN7JrzMsQWRxmXtFP1NYV9cw39YZggum5mwv5uMwAjHOsBZGAvz/aOBFdy84W1hV2dDsnDAYjl/UMkYqsowZncchMYOrBFULQTZocmv/OskrQ4lKolQfVOlBs8ZVBYyQhlncvJJO6MLTC7ytCWCnhKQAPv4ylewgkMLEA4aOkodEeleJ3D8NRjXfijRW2c0g9+WlvYkzOFJTQ7N1vT3If8BkjielKYJUR5wEA9GFuicm2nbuljKuv4TJh9vyJjnVpwLe93jUcmRcBB0lhXiIuhmzqXWBbExWRSigKF7/2LMIZN9PShiBAhm3S3wnvGuqBWrN5cg4fCVEFDf3CNgk+QihxGH1evDTMsMf72mFO0+bBnpIhOaWD7KI9KLDhumkm9uItPwxEWguyzbnj0266wSUo+Lv8aIol4pR9gAwDzDRWsr+qmrKLyN4p2UCv2rFD0hBHenGAOMtTfVE=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: uoguelph.ca
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 9adc8482-846c-4c17-9f25-08d9942724b5
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Oct 2021 00:10:08.9184 (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: rmacklem@uoguelph.ca
X-MS-Exchange-Transport-CrossTenantHeadersStamped: QB1PR01MB2483
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/WqYwFRdEIzHrk9Q0RpnI0fXHsaw>
Subject: Re: [nfsv4] Can NFSv4.2 operations be optional on a per server file system basis?
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: Thu, 21 Oct 2021 00:10:17 -0000

Well, what do others think of this?

Thomas Haynes wrote:
> The answer is “no”.
Well Tom, when I first red RFC7862 I assumed that the "optional features" were
"per server", but when I look in the RFC I cannot see that stated.
In Sec. 1.2:
   NFSv4.2 is a superset of NFSv4.1, with all of the new features being
   optional.  As such, NFSv4.2 maintains the same compatibility that
   NFSv4.1 had with NFSv4.0.  Any interactions of a new feature with
   NFSv4.1 semantics is described in the relevant text.

It clearly states that all new features are optional. It does not state if the
option is "per server" or  "per server file system" (or "per server file" for that
matter).

Then in Sec. 1.3:
   A major goal of the enhancements provided in NFSv4.2 is to take
   common local file system features that have not been available
   through earlier versions of NFS and to offer them remotely.  These
   features might
This kinda hints that the new features are based on local file systems
in the server, so supporting the new feature "per server file system"
doesn't seem too much of a stretch?

I could not see any statement that optional features were "per server"
in the RFC (but I might have just missed it?).

Then J. Bruce Fields wrote:
> For what it's worth, I looked at the Linux knfsd code, and it looks like
> it will in fact return NFS4ERR_NOTSUPP in this case.
>
> That's probably not the only case.  E.g. (again from just looking at the
> code) I suspect that's what we do you request an xattr from a filesystem
> that lacks xattr support (even though GETXATTR is supported and might
> succeed given a filehandle on another export).
>
> Without testing right now, I *think* the Linux client just passes that
> back to the application (probably as EOPNOTSUPP).  It doesn't give up on
> ever using FALLOCATE against that server again.
So, it appears that the Linux knfsd server is shipping with optional features
on a "per server file system" basis and that the Linux NFSv4.2 client handles
that.

The FreeBSD NFSv4.2 client is slightly broken, in that it has an "optimization"
where, if it sees a NFS4ERR_NOTSUPP reply, it marks the operation not supported
and does not attempt it again. This optimization could easily be removed for the
next release and appears to be broken w.r.t. extant Linux knfsd servers, so I should
remove it anyhow.

So, could we just clarify that NFSv4.2 optional features are "per server file system"?

rick

--b.