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

David Noveck <davenoveck@gmail.com> Fri, 15 October 2021 11:03 UTC

Return-Path: <davenoveck@gmail.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 3141D3A1168 for <nfsv4@ietfa.amsl.com>; Fri, 15 Oct 2021 04:03:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=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=gmail.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 MYDrqHrmM_Mc for <nfsv4@ietfa.amsl.com>; Fri, 15 Oct 2021 04:03:25 -0700 (PDT)
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4C0783A116F for <nfsv4@ietf.org>; Fri, 15 Oct 2021 04:03:25 -0700 (PDT)
Received: by mail-ed1-x52e.google.com with SMTP id 5so6598246edw.7 for <nfsv4@ietf.org>; Fri, 15 Oct 2021 04:03:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=3FSgl/FnnSBDOSpD6Nb4X8ltBJ3KARjpIaYLGaWQn8A=; b=CDMpISTG5lFFxOVYmXykY2v+gE6fv26q0lKdB+86hLhCP6VObs0fBGtitYOgnpgNeJ kGQJ1voTJeJizxiGWw/Imzuq/hrep87xdOiM+dgxghSZ0o11gB97gBqkB2gwKqNRewmM IcNySZb7bWDd8v2P6Gbp/MzSMJuSe3mUF6m7yZnTc6GlmSKsmoBQnMbGfkOmapdFc64o jMSz69TTHPjtiSlkM1IYOqAAuZk+AtRATwvCcc8JVopU0LeMl+4Z5pXlooydzJtm00Ex d8y7FXMqbkykcUq8szIAfylwRzJYyoMpG5AIDEoVXsGSpGdrwPaE2iHl3k4bgukob8Zr ss7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=3FSgl/FnnSBDOSpD6Nb4X8ltBJ3KARjpIaYLGaWQn8A=; b=r8PgyngIfmjPlmsPVix24Jmjb4FBk1qF7hvRpKvsYWepTJjZ5TZf6l+jDEmx621mNT IcyEb7wX5zCol8PsUUNsXa6msfSEbpNk0MVvz13StcacKQ2st4+S+bCWxEkbTdRSbIih r4zw4H2URxrU0IxjekiNAJMFuaZhdyAmRcFdkElXGWgopLPvcEwhUvuFr4hjjZQhhn2q bEUsBHHSCGNRQCjET3wLfBS7nDM30JX0jOHbLB7DmEsT5ZFBPBf1QQNSSGte015uUeKI 9gFcicSe8zmAzCj96AL3eV2Sja9wAiThMUwCyLBRF1fgpA1/IQXYmMrDnKhSZKPNM8g6 giaw==
X-Gm-Message-State: AOAM533gSWSvmElDc4ss3eGZLdjSQOojugIvcLKiw2ygBurzZVA1oU/s VSPLMcfnF0u+EtOjICloGBwzycqbRbFDY8gFws0=
X-Google-Smtp-Source: ABdhPJz4jl1O+dfsq6K9OCO12Q0AE4XRC5R76MmsPDvpioz+ppnK+VfPenxUgU3GtVpn5tb8F6IHUzo0mk3W5zriUEM=
X-Received: by 2002:a05:6402:370:: with SMTP id s16mr12865828edw.1.1634295801904; Fri, 15 Oct 2021 04:03:21 -0700 (PDT)
MIME-Version: 1.0
References: <YQXPR0101MB0968D58C78D6E9ACBF7B8A3FDDB49@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM> <683B4D58-BFDF-465D-9E77-607819354EAA@gmail.com> <YQXPR0101MB0968AE1F6DD2D47EC458B7D7DDB49@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>
In-Reply-To: <YQXPR0101MB0968AE1F6DD2D47EC458B7D7DDB49@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>
From: David Noveck <davenoveck@gmail.com>
Date: Fri, 15 Oct 2021 07:03:12 -0400
Message-ID: <CADaq8jcN5tv7RMOY=_1BktUsWkqEmUy-w2aygiURBNZC9LBPDQ@mail.gmail.com>
To: Rick Macklem <rmacklem@uoguelph.ca>
Cc: Thomas Haynes <loghyr@gmail.com>, NFSv4 <nfsv4@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000baffb505ce6224af"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/uTFbf9u7fdbn1QGy_9VYRLy0YxI>
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: Fri, 15 Oct 2021 11:03:30 -0000

I think the right error to return in the case in which allocate is
implemented by the server but not supported on a particular fs is
NFS4ERR_SERVERFAULT. The case we are talking about is an error that is not
otherwise provided for, just as the definition of that error states.

On Sun, Oct 10, 2021, 3:33 PM Rick Macklem <rmacklem@uoguelph.ca> wrote:

> 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
>
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4
>