On Mon, Mar 24, 2025 at 5:42 PM Jeffrey Altman <jalt...@secure-endpoints.com> wrote: > > On 3/24/2025 10:25 AM, Martin Wege via Cygwin wrote: > > Hello, > > > > another wishlist entry (old one): > > read/write NTFS alternate data streams via openat(O_XATTR) > > From my perspective as a filesystem developer, Extended Attributes and > Alternate Data Streams are different concepts which I believe are > inappropriate to mix. > > Filesystems can implement one, the other, both or neither. > > An Extended Attribute is a name:value pair that can be attached to an > inode. The size of individual values and the sum of the value sizes are > often quite constrained because they are stored in the inode metadata. > Copying an inode is guaranteed to copy the Extended Attributes. > > Alternate Data Streams are typically represented as independent inodes. > The Alternate Data Stream namespace can be represented by a directory > inode referenced from the file inode. Each ADS inode might have their > own Extended Attributes to go along with the data stream. ACLs on ADS > inodes can also be independent of the ACL on the primary inode depending > upon the implementation. > > Therefore, I am reluctant to see openat(O_XATTR) be used to access > alternate data streams.
There is a problem with naming here. UNIX called "alternate data streams" "extended attribute (files)", while Linux violated the established naming used by UNIX/Solaris/AIX/Unicos, and called their Windows "EA"-like string things also "xattrs". Total naming chaos. openat(O_XATTR) is NOT for Windows EAs, it is only for "alternate data streams" Thanks, Martin