On Tue, Apr 22, 2025 at 3:34 AM Cedric Blancher <cedric.blanc...@gmail.com> wrote: > > On Sun, 9 Mar 2025 at 00:02, Rick Macklem <rick.mack...@gmail.com> wrote: > > > > First off, I cross posted because I don't think many read freebsd-arch@. > > There seems to be a nice market for Solaris style extended attributes. > > Since ZFS is already wired for them, adding the basics is pretty > > straightforward. I am not suggesting that they should replace the > > current FreeBSD extended attributes. > > > > For those not familiar with them (I am not very familiar myself;-), > > a Solaris style extended attribute is in a directory that hangs off > > the file object and the entries in the directory (the attributes) can > > be manipulated with open/read/write/lseek just like a regular file. > > (They can be as large as a regular file, but there is no atomicity > > guarantees.) > > > > At this point I have a couple of rough patches: > > https://people.freebsd.org/~rmacklem/xattr.patch - the VFS/ZFS part > > https://people.freebsd.org/~rmacklem/nfs-xattr.patch - the NFSv4 part > > Any timeframe when > https://people.freebsd.org/~rmacklem/nfs-xattr.patch will land in > FreeBSD? Should be in main in a week or so. I have already done one patch commit, but there are a few more needed.
On the bigger picture... I have finally gotten Solaris going in a VM so that I could test stuff on it and have found a couple of incompatibilities: - I required O_CREAT for nameddir_fd = openat(file_fd, ".", O_NAMEDATTR, 0); to create the named attribute if it did not already exist. Solaris does not require O_CREAT for this case (when used with O_XATTR) and actually returns EINVAL. Solaris just creates the directory if it does not already exist. Changing this is a trivial 2 line patch and I think being Solaris compatible makes sense. I required the O_CREAT, since I was thinking the syscall without it could be used to test to see if the named attribute directory exists, but I am not sure if that is useful? Do others think I should change the behavior to be Solaris compatible? - Solaris allows hard links to be created to a named attribute. I did not allow this, since I was concerned that having links to the same attribute for multiple file objects might be confusing. Do others think I should allow them? Thanks for any input, rick > > Ced > -- > Cedric Blancher <cedric.blanc...@gmail.com> > [https://plus.google.com/u/0/+CedricBlancher/] > Institute Pasteur