Extended file attributes: Difference between revisions

Content deleted Content added
Windows NT: Slightly more parallel to the description of Linux extended attributes.
 
(2 intermediate revisions by 2 users not shown)
Line 49:
===Linux===
In [[Linux]], the [[ext2]], [[ext3]], [[ext4]], [[JFS (file system)|JFS]], [[Squashfs]], [[UBIFS]], [[YAFFS|Yaffs2]], [[ReiserFS]], [[Reiser4]], [[XFS]], [[Btrfs]], [[OrangeFS]], [[Lustre (file system)|Lustre]], [[OCFS2|OCFS2 1.6]], [[ZFS]], and [[F2FS]]<ref>{{cite web
| url=httphttps://lkml.iu.edu/hypermail/linux/kernel/1210.0/03190.html
| title=[PATCH 13/16] f2fs: add xattr and acl functionalities
| first=Jaegeuk
Line 72:
As of 2016, they are not yet in widespread use by user-space Linux programs, but are used by [[Beagle (software)|Beagle]], [[OpenStack#Object storage (Swift)|OpenStack Swift]], [[Dropbox (service)|Dropbox]], [[KDE]]'s semantic metadata framework (Baloo), [[Chromium (web browser)|Chromium]], [[Wget]], [[cURL]], and [[Snap_(software)#Snapcraft|Snapcraft]].
 
The Linux kernel allows extended attributeattributes to have names of up to 255 bytes and values of up to 64 KiB,<ref>{{cite web
| url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/limits.h?id=607ca46e97a1b6594b29647d98a32d545c24bdff#n15
| title=linux/include/uapi/linux/limits.h
Line 100:
In [[OS/2]] version 1.2 and later, the [[High Performance File System]] was designed with extended attributes in mind, but support for them was also retro-fitted on the [[File Allocation Table|FAT]] filesystem of DOS.
For compatibility with other operating systems using a FAT partition, OS/2 attributes are stored inside a single file "{{code|EA DATA. SF}}" located in the root directory. This file is normally inaccessible when an operating system supporting extended attributes manages the disk, but can be freely manipulated under, for example, DOS. Files and directories having extended attributes use one or more [[cluster (file system)|clusters]] inside this file. The logical cluster number of the first used cluster is stored inside the owning file's or directory's [[FAT extended file attributes|directory entry]].<ref name="os2-fat-extended-attributes">{{cite web
| url=httphttps://www.tavi.co.uk/os2pages/eadata.html
| title=Implementation of extended attributes on the FAT file system
| first=Bob
Line 116:
 
===Windows NT===
On [[Windows NT]], limited-lengthextended attributes with names of up to (255 [[ASCII]] charactercharacters names,and 65535values byteof values)up extendedto attributes65535 bytes are supported by [[File Allocation Table|FAT]],<ref name="os2-fat-extended-attributes"/> [[High Performance File System|HPFS]], and [[NTFS]], but without support through the [[Win32]] [[API]]. This was implemented as part of the [[OS/2 subsystem]]. They are notably used by the [[Network File System (protocol)|NFS]] server of the [[Interix]] POSIX subsystem in order to implement Unix-like permissions. The [[Windows Subsystem for Linux]] added in the [[Windows 10#Redstone|Windows 10 Anniversary Update]] uses them for similar purposes, storing the Linux file mode, owner, device ID (if applicable), and file times in the extended attributes.<ref>{{cite web
| url=https://blogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-system-support/
| title=WSL File System Support
Line 125:
| access-date=2017-07-11}}</ref>
 
Additionally, [[NTFS]] can store arbitrary-length extended attributes in the form of [[NTFS#Alternate data stream (ADS)|alternate data streams]] (ADS), a type of [[Fork (file system)|resource fork]]. Plugins for the file manager [[Total Commander]], like ''NTFS Descriptions'' and ''QuickSearch eXtended'' support filtering the file list by or searching for metadata contained in ADS.<ref>{{cite web|url=https://totalcmd.net/plugring/NTFS_diz.html|title=NTFS Descriptions 1.2.1|website=TotalCmd.net|access-date=16 April 2018}}</ref><ref>{{cite web|url=httphttps://totalcmd.net/plugring/google_like_qs.html|title=QuickSearch eXtended|website=TotalCmd.net|access-date=16 April 2018}}</ref> [[NTFS-3G]] supports mapping ADS to extended attributes in [[Filesystem in Userspace|FUSE]]; it also maps file attributes that way.<ref>{{cite web |title=Extended Attributes |url=https://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/ |website=Tuxera |archive-url=https://web.archive.org/web/20200814021136/https://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/ |archive-date=2020-08-14 |url-status=dead}}</ref>
 
==See also==