Re: FreeBSD NFSv4.1 nfsd, named attribute support (OPENATTR)?
Date: Sun, 02 Mar 2025 23:48:42 UTC
On Tue, Feb 18, 2025 at 4:14 PM Lionel Cons <lionelcons1972@gmail.com> wrote: > > On Mon, 20 Jan 2025 at 13:15, Lionel Cons <lionelcons1972@gmail.com> wrote: > > > > On Sun, 12 Jan 2025 at 16:50, Rick Macklem <rick.macklem@gmail.com> wrote: > > > > > > On Sun, Jan 12, 2025 at 2:09 AM Cedric Blancher > > > <cedric.blancher@gmail.com> wrote: > > > > > > > > Good morning! > > > > > > > > Does FreeBSD NFSv4.1 nfsd support named attributes (e.g. OPENATTR), > > > > per https://datatracker.ietf.org/doc/html/rfc5661#section-5.3 > > > > > > > > ZFS and Solaris UFS support named attributes (via O_XATTR), does > > > > FreeBSD do it too? > > > No. fork files/resource forks (or whatever you choose to call them) > > > have been discussed multiple times. > > > > > > If I recall correctly, one showstopper was fixing the archive tools. > > > There was also the generic argument that Linux doesn't support them. > > > Then there was the issue of what VFS/VOP changes were required. > > > (The FreeBSD VFS carries vnode locks across VOP calls and is at > > > what I would call a lower level than Solaris.) > > > --> Which all comes down to who will do the work? > > > > > > If I recall correctly, there was a time when a group associated with > > > CERN needed them to transition away from Solaris. > > > > That was my team, and there is still the need to do it. What keeps us > > FRUSTRATED is the lack of progress. Well, and "no", we cannot do it > > ourselves, this is well beyond the expertise my team has. > > Does anyone have any suggestions on how to proceed? The patch found here does the very basics for ZFS (no NFSv4 code yet). https://people.freebsd.org/~rmacklem/xattr.patch It will only work for a ZFS file system and I think you need to set the xattr property to dir. Once you apply the patch to a kernel and rebuild/run that kernel, you need to copy /usr/src/sys/sys/fcntl.h to /usr/include/sys. The attached trivial test priogram should work. (It uses O_NAMEDATTR in a manner similar to Solaris, although I do not have a Solaris system to play with, so the semantics might not be exactly the same?) If people pick this up and test it, I will be inspired to continue to work on it. I will come up with NFSv4 code relatively soon and put this up on github someday. I have no idea if this will ever make it into FreeBSD's main? rick ps: See the attached trivial test program for how to use it. > > Lionel >