27 ms·
The original version of Windows NT Server allowed you to install Services for Macintosh and act as an AppleTalk file server, so support for resource forks was a
by GeekyBear 5y ago
The original version of Windows NT Server allowed you to install Services for Macintosh and act as an AppleTalk file server, so support for resource forks was added to NTFS.
https://en.wikipedia.org/wiki/NTFS#Alternate_data_stream_(ADS) https://en.wikipedia.org/wiki/NTFS#Alternate_data_stream_(AD...
- p_l 5y agoAlternate Data Streams are pretty interesting, cause I'm pretty sure Services for Macintosh weren't the only users - it's also way more powerful (closest thing on Unix would be Solaris-style extended attributes) and pretty fundamental part of NTFS on-disk structures (in fact, "alternate" data streams differ from main one only by having a name - the default data stream simply has no name, and all data streams are equal in importance)
- retrac 5y agoExtended attributes aren't limited just to Solaris. A variety of *nix file systems have generally supported forks/multiple data streams for some time. FreeBSD has support for arbitrary-sized extended attributes in UFS/ZFS, for example, and implements its access control with them. Linux probably has the most limited form, where the xattr are capped at 4 or 64 kilobytes depending on the underlying FS. I think the big issue for uptake is that it just doesn't fit into the UNIX world. Nothing else is aware of xattrs/forks. The basic file utilities will blindly strip them so you can't just cp or tar such a file, for example. If cp transparently breaks all your files, that's pretty much a show-stopper as anyone who remembers the classic Mac to OS X transition will know.
- p_l 5y agoThe reason I mentioned Solaris is because Solaris behaviour is closest to NTFS, whereas linux API is based upon Irix, which is closer in behaviour to OS/2 (OS/2 subsystem was another use case for ADS), as well as implementation on a bunch of other systems where extended attributes were treated as just that, attributes. Comparatively, NTFS is very... flexible navigational database and a bunch of things are just "this is the default parameter set, not exhaustive". I wasn't aware that FreeBSD copied Solaris in this (ZFS extended attributes by default create a sort-of directory object allocated linked from the file, linux supports inlining simplified xattrs for speed)
- trasz 5y agoThere is a difference between alternate data streams and extended attributes. Basically, the former is data, the latter is metadata. NTFS and ZFS implement alternate data streams, but in eg FreeBSD those are accessed like extended attributes.
- p_l 5y agoNTFS doesn't really have a difference internally - they are all attributes of the FILE object (everything in NTFS is a FILE or its attribute, including filesystem metadata). Arguably ZFS ZPL has "blessed" data element (I dare you to implement ZFS while replacing DMU/SPA with Ceph or S3 XD - yes it's doable)
- deleted 5y ago[deleted]