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

Reply via email to