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

Rick Macklem <rmacklem@uoguelph.ca> Sun, 10 October 2021 19:33 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 AA4A53A0B92 for <nfsv4@ietfa.amsl.com>; Sun, 10 Oct 2021 12:33:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, 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 IDyev38UHJ_P for <nfsv4@ietfa.amsl.com>; Sun, 10 Oct 2021 12:33:04 -0700 (PDT)
Received: from CAN01-QB1-obe.outbound.protection.outlook.com (mail-qb1can01on0602.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe5c::602]) (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 BC4BF3A0598 for <nfsv4@ietf.org>; Sun, 10 Oct 2021 12:33:03 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dWgF2jSeRXDp23mf6MRob3pzEI/93cDpUlry5R9LcHjTUM7VS+8QXdzf418iHiuwf0/TfzKBTvBMcmakla5p6GSKNRyOAapZXFIX/vDVyGO2tPGwRLcclpk2KVSpzUDj8QKGZmyDGo5sQsw2jkvDX2RCLdS9o8ug4xTD8Wo1Y2oXLjBsiKr8JocDdacb1ctVEUXt1x4ON9V0UIdz5tg/Dtye65gI+XLjmBrZlsw4i5kc1Hh2MjF6jVio9PAxDuDndUAppelUB+57D6Jv0VEdetJjzBarISLhNyC9juVI6WoWsDv8NMYcYF1yxk6JtOu2UCFNzICawR0Ju9sXJyKFRg==
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=6XiegPY8JKml0QV3bqXRo6ThoBuerBWSa04IFKp6qXg=; b=U1uTiXpCdajArhO7+/8xEkDuYezx0u4ADexr21HBibj9wu2i7e4PSI3Cl7I5zdH29pTJFmLyBjGRdni2Q0CMmmuTcQ22UKQ4i/LDwoCIMlRUsXKMBqNyeyS37YiJyti53reYfps8rzTeDT69klV7FVNTL1vcLXvISPSVM7xds5n6exnNdBwfbQ7sHH0SRfvoAbm6fPJmisC3EFa5O96EQ9jInd1FtxYgwhqNVPJ0kPRn3kvbW/ThZK32CJ9Vu4yOwGExDm+pVQBg17srvqsJtTtINjJ2Im6eFu818BisyZV3JPumeBxEp35ogg78pkALB8p7iYWyES0JYt4JJD2IGg==
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=6XiegPY8JKml0QV3bqXRo6ThoBuerBWSa04IFKp6qXg=; b=e4dkw9cJpXiJNiETQnAmrPCDBMjekVblvwVWUhxl3LKByJxmTTLfoBqpDYTeJMvPtkNeaTYrwxdERRhszJl5vxHYTsYu5xM5M8Bg6U8tkZTnHUnhbysyrtH/Vvy9CnrgEba9cmvlF5DkQmNr9IQ+JL6TK0MpNzEvmIlIPKDpD+RKKpcPZhAj+oMUhQqDLL0fzePaAh7vXzYCdkJ9hAJfCzC4kK4u/H4Y2xm10Lh7oTuMI+HdYGhgILJCAFrRm+1cWczWo8N7vQrzlvcLOT9ca0PEJDslVa60RGIPGpNwI5f4b/8QYxGIi4bCohqk5c1fF6mrf8G5o4DPHxVJvTygtQ==
Received: from YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:19::29) by YQBPR0101MB2081.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:4::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.20; Sun, 10 Oct 2021 19:32:56 +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.4587.025; Sun, 10 Oct 2021 19:32:56 +0000
From: Rick Macklem <rmacklem@uoguelph.ca>
To: Thomas Haynes <loghyr@gmail.com>
CC: "nfsv4@ietf.org" <nfsv4@ietf.org>
Thread-Topic: [nfsv4] Can NFSv4.2 operations be optional on a per server file system basis?
Thread-Index: AQHXvd+uy+0ZXP+Ezkai9otM7Jmjk6vMihAAgAATSmc=
Date: Sun, 10 Oct 2021 19:32:56 +0000
Message-ID: <YQXPR0101MB0968AE1F6DD2D47EC458B7D7DDB49@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>
References: <YQXPR0101MB0968D58C78D6E9ACBF7B8A3FDDB49@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM> <683B4D58-BFDF-465D-9E77-607819354EAA@gmail.com>
In-Reply-To: <683B4D58-BFDF-465D-9E77-607819354EAA@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
suggested_attachment_session_id: e7cfb839-bf05-0b3d-b025-0827f6c5c712
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=uoguelph.ca;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c4458ac6-b18a-42a3-f044-08d98c24c29a
x-ms-traffictypediagnostic: YQBPR0101MB2081:
x-microsoft-antispam-prvs: <YQBPR0101MB2081E6A911B480C3E656411FDDB49@YQBPR0101MB2081.CANPRD01.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: gt1/6iuBOuzB5VtylESy5Okm5YHnXFU75NXeARAAnUzN/3PbNl6sIP2FrA0LwPkZHnqwYQl0tJuv6UqpNxSGV8yNpC6WzmS7oF9MBIh8GJZLf6w2jToHLEo1cykk7MOUGKuVXPePAYgLGcG2qVj3csNF9x104iopMd4YLat2avZrt2Tq2GkcUxHYOWNlj6N1ObcG5+8bBv/TVmtjh2Up+WT1rWPGqkRKQlmCdGQaxybAk3BUGDeKj2zKm1tayMLAdoUbtydYZZe+mE2vgzExFX8NB+DUI2LMEdzQPIyDsbZ52b9lvZKiI48u1F3yVfhgShCm3gNBD/DtelMmeMl/5wM16bjvlKrFUj0ScWH2uIxAmjU1e2Us/qfCQ4Ln7zhHrKKGHFrIK83Dv1UW5j4kb79mN795QwnOiYr3GlQP5Iph75TvXuJ/v+R/Tn9TfNA2oYTcgMW+K+VoZvYPHVM0dorUSC/4JfiiIfQFfs62lmI8L+bFgsxlsGy57q/S85swHw6tX8UYNvALSUJ2/FRcHKxtZ01g7APwxD/chKxdD7psq6e8Kf8xJ6AaY0cWLEIZzpdnYC+H9ZPqevC69JXkjwcqh+ptYFkNh3croDo87WBe9QvWZFRCHIyOUjjE9CjOMaZ5Ao3hYDViM2pyebS0ESaFchM2IzpqdJuHvPomYVT6IBDEq04uh9CHQXiL40L3KZ+r02F7rKeX+8vW+pttAdlhlUvTY9Lca49nYzJq2OtQS8hv0w5v/4KQn4qsJVZAftIShKVFeJmegV3zmRrwsXi+YyH+YPw9ZpbXQBw9ix0=
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)(786003)(6916009)(83380400001)(508600001)(316002)(33656002)(2906002)(86362001)(186003)(5660300002)(71200400001)(66946007)(4326008)(53546011)(38070700005)(8936002)(55016002)(76116006)(966005)(9686003)(38100700002)(7696005)(52536014)(122000001)(91956017)(6506007)(64756008)(66476007)(66446008)(66556008)(8676002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: PbjpdZuwefOeXx2Hxb2t14N2HaZcHeSiPA2t2vDYPAx7TlZ+HPrexfdCKjR7NQXqzqlvo42zI/kAoKJ4V0cy9c69uhybukhE66VFWLe/k50K9YSiSK1twwKx2k5/+Aa+d/n2oh+dXT16Q4z5ZmBktLMGhE5OjIVEThXJJoSAk480TTmxKUuQQbXvhVGgkUrguKR0aKn+NpNfwbFbtUX4ljdZFOAQwJKzF6NsQjFHQfsO9glGVUSQA72IKSDUBI9a/AKS3EW0ZvUjdCa3BGECtaABVwsnInenala/4YqTE2H9dybLFftSenCDyKF8o4/LXiP4TOO1L2sPnUHmt8mTAagedGUTGMF63k15BNbroXXTvRLqn8UhT6hJWYtvwkZICiY3zCkJdA8XEjMfmMcH6D590Zo9H0AQHPqM8cSNrqXGc+CFkhKu8MOf2ayNaBkhNw5acTCBbLwQkeAmrQ/pwRXeAAK0K3ly/PC+atfmvWLQlSKgRYrHHSFo0l4dRxXEQSV2g4VYKgkYWU7yinBw98sxN9c3RV+CLdybnu5ERhRS+0uSwAVZ8Mcae8nvrJZxe9SuaJM+06p87CJ9mOZqUipuJwQ2JYoDC29E/1Adff2pH57oKXB2zHRtSwiNc8Q6HONSq3Hig9UzPr2BxZ9ltJGAbRb4wzy46Zt1rewC6406fWfZ7XQfhzHJayjndTYljKs7kKMH+Y2sgfWfDlzDCeoZu0MMlu0Wk5G+3v3xaAWQHZ9/EE5v3i0yikRPduVUU4YJeXJGDnIXOdl3WxRfZiVMrc6Hz9sQIC8mY2ptBZf8cDY2NOVwJ4nnI/vRksi6Lkzj/fmtrpEiyVA02f4NQQiR5+mdVMI0ATq5yCxF6mOwWK7iIXN/8SvswS6eEVGCzsU9vEag/+oLpGijTo6lX8QPag+JETOdkDDSWobVGBuM+Wg921EmZ319TIfLHbZLA06cv9nc2LQuWHUxWnwBs1uB7aauXiw0OJZKW3IqBLc9iVI/b9+0HAe8RotnjUuuUFo9f5DpbI3r7rBib1BWBKsUUmMSvRgMWL0ZMgwG1xUUjn1TdbINLIZXFERrLI5fHrNT0VeJzMCsg/T8MeaWBMW9akrs7hDNmkDo6wrn5VgMyyopehqYEvuWK334iiJ5dzlD38vSijV8EE1anjsQDlZiW/EXQKZPPj5BrqdFKsdLhUJ5rK3JQvN5rkJ8l50E1RxzQPC1ckDd7cjXYNV5Q+s/Hm2Zy9nHJNIJmd6fXWUtipZFoNB/cMNFd8qtY0cPDhepzjToskrigYM9W37qclHNh2ucNC9SJOBpmkN0RiF32rScE9IcRrUm/hsOOGfrHlOBzQhaEM3pl5Disc0ZSzmWlUMz1boJ9OYFdzBZbdU=
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: c4458ac6-b18a-42a3-f044-08d98c24c29a
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2021 19:32:56.0211 (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: xbwNPVMru8yQYS2fEMMNGWNcCUG9esWPPqxBy6qpekU2vieYZJZy7B3z5LqL35wnDlb2ZmY2fpMNM7jYjM515Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQBPR0101MB2081
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/X2ZJz7fdjbmuf6QIZ0rAK-fcJdw>
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: Sun, 10 Oct 2021 19:33:09 -0000

Thomas Haynes wrote:
>> On Oct 10, 2021, at 7:07 AM, Rick Macklem <rmacklem@uoguelph.ca> wrote:
>>
>> Hi,
>>
>> I'm guessing the answer is "no", but I figured I'd ask just to make sure,
>> since RFC7862 states that operations are optional, but does not clarify
>> beyond that.
>>
>> So, if an NFSv4.2 server exports two file systems, where one of them can
>> perform the operation and the other cannot, is the server allowed to
>> reply NFS4ERR_NOTSUPP for the operation when attempted on files
>> in the file system that cannot perform the operation?
>>
>> Thanks, rick
>> ps: In FreeBSD, UFS can do Allocate, but ZFS cannot.
>>
>> _______________________________________________
>> nfsv4 mailing list
>> nfsv4@ietf.org
>> https://www.ietf.org/mailman/listinfo/nfsv4
>
>
>Hi Rick,
>
>The answer is “no”.
That's what I thought.

>But the question is very interesting. NFS4ERR_INVAL might be the most appropriate of the allowed errors, but >pretty sure you do not want to be returning that.
Yea, EINVAL is the correct response for posix_fallocate(), but the Linux fallocate() uses ENOTSUPP and uses
EINVAL for lots of other things. Since returning EINVAL for a ZFS export was flagged as a bug by testers
during last week's Bakeathon, I'd agree that EINVAL wouldn't work.

>Of the not allowed errors, I think that NFS4ERR_OFFLOAD_DENIED is closest to what you want. You actually want an >NFS4ERR_ALLOCATE_DENIED. It would mean that ALLOCATE was supported, but not allowed for the given file.
>
>And I have no clue how easy it would be to drive that into the standard’s body any more. :-)
I think I'll just have to NFS4ERR_NOTSUPP for Allocate unless the server knows that all file systems
(and DSs for the pNFS case) can do it.

Thanks, rick
ps: Tom, is hs-anvil going to stick around on the Bat VPN for a while? I have a client side race/deadlock
      when testing against it and, if I come up with a fix, it would be nice to be able to test against it?

Tom