[nfsv4] Re: Our different approaches to draft POSIX ACL support in NFSv4

Rick Macklem <rick.macklem@gmail.com> Thu, 25 July 2024 01:02 UTC

Return-Path: <rick.macklem@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 BAE11C1F6F83 for <nfsv4@ietfa.amsl.com>; Wed, 24 Jul 2024 18:02:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id M7JDpSUEMUOE for <nfsv4@ietfa.amsl.com>; Wed, 24 Jul 2024 18:02:47 -0700 (PDT)
Received: from mail-pf1-x429.google.com (mail-pf1-x429.google.com [IPv6:2607:f8b0:4864:20::429]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1724EC1F6FBE for <nfsv4@ietf.org>; Wed, 24 Jul 2024 18:02:47 -0700 (PDT)
Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-70d1c655141so350006b3a.1 for <nfsv4@ietf.org>; Wed, 24 Jul 2024 18:02:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721869366; x=1722474166; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=SrcYbfpYtza12hYPy31mUwI+wc+jgFBwxEKByCvdiGQ=; b=BHnJRzcYQlr9UNVVQ7Smei+57B8rUImKnvaebYkFSBMJa1JvSgHmMhPdRn9Lk79s5T KmSqKuNxVMPnOlo9ExlQuIbs8wHAjI8sl2EB02KWw7e0UfwL/LI8bsSnBlr7iq/ywJwn sDk7YxGhL7NR7NNGE2fb6oo6clEdfCXasvwK9XztHDlCPw7EBrQp7iVCFwu8/qq7HNPW 2vo6LwNQUhgZwu/bYOM7UvOtH8G3ZmIIlDLKqZqIhRQI1XGyvAS7iTIWdrIDwTRX+e/Z kJldb0J4+fQl9AiVFgP4YtUgvmeMPfYthFP9rpd+gCws9CBWM6woPlthq5ECAKQB2cG8 d7NQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721869366; x=1722474166; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=SrcYbfpYtza12hYPy31mUwI+wc+jgFBwxEKByCvdiGQ=; b=WpHQnUjY6deXe7dnWGDJn1rGRtDaTO4QCxOzBT4tF0JparsLqbOVISa0c6ubSgFY+v 58aHcwpTk7KONG4Kz+strXPP37ScAGJAWFGWPf8mSL7M4Dvb9vD0VjGiJApE824rY2RZ MmS5pUTfx+P33jeuGipBQ/F7ttLuyPbDdT98AeWY51Bs3zofrv1Lcrx1+W1mK30XBnwQ k42ckhmjwQy4T+49UYqFZuhkTjPrVCNzU71R7DrJ7Jj7Cm95yjbHxuKry22eiSw1+8o4 FjnR5rNnHbK44LUXCyo6xLV5XzFuh3/eCncnYriup6HaX4yAd05SOoAKiD93EiU4hm57 rbvA==
X-Forwarded-Encrypted: i=1; AJvYcCVszB5rdgAO/v26Z/A3umBdCHiSfecVDnUHEM60ohEtN6RbOnGKklO61o7xKMcU9xy8FPPiyZAOEKCmt5tH2g==
X-Gm-Message-State: AOJu0Yz3QPBpsrMxIU6sx4R6yaxyKsH0D13hR99cRx273xhaM7jZKqbU bObhCRF1OsACXqxzRIPrY38QSXfUSeQtOxbsWd+4p4piPWM8PG9ssv1vYNNACoA3YM1n/pWAHib 5sOPY5MGxbY56dPYg7fw/C7deZg==
X-Google-Smtp-Source: AGHT+IGIoYVOSuNEOjCGNbqXudJqx0ecWOYQmlctBmGIpvW8a/Def7e2kwrxSBNDUwP+fIqh6RzVrf4SPyF/gfXbZ2s=
X-Received: by 2002:a05:6a21:9982:b0:1c2:9070:90ce with SMTP id adf61e73a8af0-1c47b424f1dmr313755637.43.1721869365741; Wed, 24 Jul 2024 18:02:45 -0700 (PDT)
MIME-Version: 1.0
References: <CADaq8jdvZ5pcFNN5zjuVHLTO30v9=2kYKzFdRxxbkTmHYZdTdA@mail.gmail.com> <CAM5tNy7Fw954gCzYHCTjRg7th_njSHhxznni48Zz4xsSXT631A@mail.gmail.com> <53DAEF45-2A4D-4066-97C2-7B09018DE99B@oracle.com> <CAM5tNy6a4ZG90i2ugXzuPqQ1zrsK9m8jLRKmv9VpnFG6m_Pqew@mail.gmail.com> <DD250FBD-A434-4294-818A-5728757CE032@oracle.com> <d1c538065728c17df66a6f9e79e55d90849fc866.camel@gmail.com> <D352FEB9-A487-4B3E-9BC8-DB2C1896F941@oracle.com> <8efc39289ecef97624622cfc431f890736b579a0.camel@hammerspace.com>
In-Reply-To: <8efc39289ecef97624622cfc431f890736b579a0.camel@hammerspace.com>
From: Rick Macklem <rick.macklem@gmail.com>
Date: Wed, 24 Jul 2024 18:02:30 -0700
Message-ID: <CAM5tNy7jeAvD8D4+aDJ1vF4HF8iYhkRoYukmaJ05Hxs0LOqCQA@mail.gmail.com>
To: Trond Myklebust <trondmy@hammerspace.com>
Content-Type: multipart/alternative; boundary="000000000000e513df061e07f388"
Message-ID-Hash: ALYFETEGG2MKTRGXJVPWWTOSVD76JC3O
X-Message-ID-Hash: ALYFETEGG2MKTRGXJVPWWTOSVD76JC3O
X-MailFrom: rick.macklem@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-nfsv4.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "bfields@fieldses.org" <bfields@fieldses.org>, "nfsv4@ietf.org" <nfsv4@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [nfsv4] Re: Our different approaches to draft POSIX ACL support in NFSv4
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/hbRlg1HpnuNxkx79Uvgo_8RmX5U>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Owner: <mailto:nfsv4-owner@ietf.org>
List-Post: <mailto:nfsv4@ietf.org>
List-Subscribe: <mailto:nfsv4-join@ietf.org>
List-Unsubscribe: <mailto:nfsv4-leave@ietf.org>

On Tue, Jul 23, 2024 at 11:09 AM Trond Myklebust <trondmy@hammerspace.com>
wrote:

> On Tue, 2024-07-23 at 15:27 +0000, Chuck Lever III wrote:
> >
> >
> > > On Jul 23, 2024, at 10:27 AM, Trond Myklebust <trondmy@gmail.com>
> > > wrote:
> > >
> > > On Tue, 2024-07-23 at 13:54 +0000, Chuck Lever III wrote:
> > > >
> > > > > On Jul 22, 2024, at 7:13 PM, Rick Macklem
> > > > > <rick.macklem@gmail.com>
> > > > > wrote:
> > > > >
> > > > > I just looked at opensolaris/usr/src/head/rpcsvc/nfs_acl.x
> > > > > which I think is the closest thing there is to a spec. for
> > > > > NFSACL.
> > > > > (FreeBSD does not implement this protocol and all I know about
> > > > > it
> > > > > is what this little .x file indicates.)
> > > >
> > > > That's excellent, thanks for finding it.
> > > >
> > > > My concern about this is that the cited .x file falls under
> > > > CDDL, and thus cannot be used directly by a GPL-encumbered
> > > > OS like Linux, nor can it be contributed to the IETF in its
> > > > current form.
> > > >
> > > > This is clearly prior art.
> > > >
> > > > My question then is whether we should endeavor to produce
> > > > an Informational document that describes NFSACL without
> > > > encumbrance -- ie, get Sun-Oracle to contribute that work
> > > > so that it might be used openly.
> > > >
> > >
> > > Why do we care?
> >
> > As I explained, we do want to have a protocol specification
> > for NFSv4 that will not be disruptive to folks who were using
> > NFSv3 and are now accessing the same ACLs via NFSv4.2+
>
> No we don't.
>
> We need a new protocol specification that works correctly with the
> draft POSIX acls in use with existing Linux and other filesystem, and
> that supports all the features of the IEEE 1003.1e draft 17 document
> that were implemented within Linux and the *BSD.
> Once we have that, I will happily plug that implementation into the
> inode 'get_acl()' and 'set_acl()' callbacks, and people will be able to
> use the bog standard getfacl and setfacl utilities to control the POSIX
> ACLs as if they were running on a native filesystem.
>
Ok. It sounds like you support the concept of extending NFSv4.2
to support POSIX draft ACLs.  If this is not the case, please
clarify this?

Given the above, I will get back to writing a IETF draft describing
POSIX draft ACL attributes as I prototyped them, as a starting point
w.r.t. this.

rick


> If people then still want to use the nfs4_getfacl and nfs4_setfacl
> tools to use the existing ACL attribute against a server that
> implements the draft-ietf-nfsv4-acl-mapping-05 (or whatever it is that
> the Linux server actually implements) then they can continue to do so
> without any further help from this committee. There will be no need to
> encourage the development of further broken implementations, if there
> is a real NFSv4.2 API that can replace it.
>
> >
> > And, this is prior art. If the authors and WG are comfortable
> > citing a CDDL-encumbered .x file in acls-04, then there's no
> > need to author an historical Informative document.
> >
> > > The goal of this group should be to make a version that is
> > > appropriate
> > > for NFSv4. That would need to be a new protocol extension for NFSv4
> > > that is separate from the existing ACL attribute.
> > >
> > > Even the XDR format of the ACEs will need to be different due to
> > > the
> > > adoption of name@domain format user and group descriptions that
> > > replace
> > > the uid/gid format.
> > > So there is little overlap with the existing nfsacl.x file (which
> > > existed as a file with no valid licence description in the glibc
> > > rpc
> > > implementation for many years prior to the existence of the CDDL).
> >
> > Implementers will need to understand the differences and
> > ensure that there is compatibility when presenting ACLs to
> > users, for example. It sounds like there are indeed some
> > compatibility issues worth mentioning.
> >
> > I'm simply asking if additional standards action is needed
> > to ensure that the older work is available and citable in
> > new documents.
>
> Bruce and Marius' draft should suffice to document the legacy non-
> standard. It is still available from the data tracker:
> https://datatracker.ietf.org/doc/draft-ietf-nfsv4-acl-mapping/
>
> --
> Trond Myklebust
> CTO, Hammerspace Inc
> 1900 S Norfolk St, Suite 350 - #45
> San Mateo, CA 94403
>
> www.hammerspace.com
>