Date: Tue, 24 Jun 2025 09:55:32 GMT From: Lorenzo Salvadore <salvadore@FreeBSD.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org Subject: git: 2d3490b048 - main - Status/2025Q2/named-attributes.adoc: Add report Message-ID: <202506240955.55O9tWXp026849@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by salvadore: URL: https://cgit.FreeBSD.org/doc/commit/?id=2d3490b04887650f543b496acf296bf4fe1e0564 commit 2d3490b04887650f543b496acf296bf4fe1e0564 Author: Rick Macklem <rmacklem@FreeBSD.org> AuthorDate: 2025-06-24 09:32:18 +0000 Commit: Lorenzo Salvadore <salvadore@FreeBSD.org> CommitDate: 2025-06-24 09:51:48 +0000 Status/2025Q2/named-attributes.adoc: Add report Reviewed by: status (Pau Amma <pauamma@gundo.com>) --- .../report-2025-04-2025-06/named-attributes.adoc | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/website/content/en/status/report-2025-04-2025-06/named-attributes.adoc b/website/content/en/status/report-2025-04-2025-06/named-attributes.adoc new file mode 100644 index 0000000000..d6f5e0e54d --- /dev/null +++ b/website/content/en/status/report-2025-04-2025-06/named-attributes.adoc @@ -0,0 +1,27 @@ +=== Named attribute support (Solaris style extended attributes) + +Contact: Rick Macklem <rmacklem@FreeBSD.org> + +Named attributes is the NFSv4 term for what is also known as Solaris style extended attributes. +Since ZFS has its origins in Solaris, the wiring for these exists in OpenZFS. +This little project consists of connecting that wiring up. +This is not intended to replace the extended attribute support already in FreeBSD. +It provides an alternate mechanism for manipulating extended attributes that will be supported for ZFS and NFSv4. +There are a few reasons I think this could be useful (as indicated via email discussion). +This mechanism allows for extended attributes as large as any regular file, which can be partially updated. +Some NFSv4 clients, such as MacOS and Windows, can use these extended attributes but not the FreeBSD/Linux style ones. +(I think MacOS calls these extended attributes fork files and Windows calls them alternate data streams.) +There is software, such as bash, that know how to manipulate these extended attributes. + +The fundamental difference is that this mechanism provides a directory that is not in the file system's namespace, but is associated with a file object. +This named attribute directory can then be read via man:readdir[3] to get the list of extended attributes, which are really just regular files. +These extended attributes are then read/written like any regular file. + +The top level system call interface is man:open[2]/man:openat[2] with the new O_NAMEDATTR flag (called O_XATTR on Solaris). + +Most of the work has been committed to FreeBSD's main for FreeBSD 15. +Once the ZFS patch makes it through review and gets pulled into OpenZFS, the ZFS and NFSv4 support should work. +There are also a couple of manual pages currently under review in phabricator. + +The main thing left to do is update libarchive/tar so that large extended attributes can be archived/retrieved. +(The current FreeBSD extended attribute mechanism is supported by libarchive, but will have size constraints.)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202506240955.55O9tWXp026849>