^IBM introduced JFS with the initial release of AIX Version 3.1 in 1990. This file system now called JFS1. The new JFS, ported from OS/2 to AIX and Linux, was first shipped in OS/2 Warp Server for e-Business in 1999. It was released as JFS2 on AIX 5L.
^Microsoft first introduced FAT32 in Windows 95 OSR2 (OEM Service Release 2) and then later in Windows 98. NT-based Windows did not have any support for FAT32 up to Windows NT4; Windows 2000 was the first NT-based Windows OS that received the ability to work with it.
^ 5.05.1Specifications for the Reliance file systems are available here [1][失效連結].
^ 6.06.1These are the restrictions imposed by the on-disk directory entry structures themselves. Particular Installable File System drivers may place restrictions of their own on file and directory names; and particular and operating systems may also place restrictions of their own, across all filesystems. MS-DOS, Microsoft Windows, and OS/2 disallow the characters \ / : ? * " > < | and NUL in file and directory names across all filesystems. Unix-like systems disallow the characters / and NUL in file and directory names across all filesystems.
^ 7.07.17.27.37.47.5For filesystems that have variable allocation unit (block/cluster) sizes, a range of size are given, indicating the maximum volume sizes for the minimum and the maximum possible allocation unit sizes of the filesystem (e.g. 512 bytes and 128 kB for FAT — which is the cluster size range allowed by the on-disk data structures, although some Installable File System drivers and operating systems do not support cluster sizes larger than 32 kB).
^While the on-disk filesystem structure uses a 4-byte file length, which allows files up to 4G, the usual disk access APIs use the top three bits of the sector number to specify the drive number, effectively limiting the maximum file size to 512M.
^While the on-disk filesystem structure uses a 3-byte sector number, which allows access to 4G of disk space, the usual disk access APIs use the top three bits of the sector number to specify the drive number, effectively limiting the maximum disk size to 512M.
^ 11.0011.0111.0211.0311.0411.0511.0611.0711.0811.0911.1011.1111.1211.1311.1411.1511.1611.1711.1811.1911.2011.2111.2211.2311.2411.2511.2611.2711.2811.2911.3011.3111.3211.3311.3411.35The on-disk structures have no inherent limit. Particular Installable File System drivers and operating systems may impose limits of their own, however.
MS-DOS/PC DOS do not support full pathnames longer than 66 bytes for FAT12, FAT16 and FAT32 volumes. This limit exists because these operating systems were designed around a fixed-length internal data structure named Current Directory Structure, which holds the absolute paths of the current working directories of all volumes.
The FAT12/FAT16 file system implementation under Concurrent DOS and DR DOS 3.31 to 6.0 (prior to 1992 updates) did not impose any such limits on the directory depth due to their internal representation of current working directories as dynamically updated chain of double-linked relative directories. The introduction of a DOS-like CDS (instead of only an emulation thereof) for compatibility purposes with BDOS 7.0 in 1992 imposed the same length limits on PalmDOS, DR DOS 6.0 (since 1992 update), Novell DOS, OpenDOS, etc. as known from MS-DOS/PC DOS.
Windows NT does not support full pathnames longer than 32,767 bytes for NTFS. Most Windows programs will fail when full path exceeds 255 characters (including Explorer and CMD.EXE). Linux has a pathname limit of 4,096.
^Varies wildly according to block size and fragmentation of block allocation groups.
^The CP/M filesystem itself does have limitations in regard to the allowed filename characters to be used, but officially the following characters are not allowed: SPACE < > . , ; : = ? * [ ] % | ( ) / \. CCP reserves the following characters for special purposes: SPACE , = _ . : ;, PIP additionally reserves: < > [ ].
^ 22.022.122.222.322.422.522.6Depends on whether the FAT12, FAT16 or FAT32implementation has support for long filenames (LFNs). Where it does not, as in OS/2, MS-DOS, Windows 95, Windows 98 in DOS-only mode and the Linux "msdos" driver, file names are limited to 8.3 format of 8-bit characters (space padded in both the basename and extension parts) and may not contain NUL (end-of-directory marker). Short names also do not normally contain lowercase letters. Also note that a few special device names should be avoided, as some operating systems (notably DOS and Windows) effectively reserve them.
^While FAT32 partitions this large work fine once created, some software won't allow creation of FAT32 partitions larger than 32 GB. This includes, notoriously, the Windows XP installation program and the Disk Management console in Windows 2000, XP, 2003 and Vista. Use FDISK from a Windows ME Emergency Boot Disk to avoid. [3] (页面存档备份,存于互联网档案馆)
^ 24.024.1Depends on kernel version and arch. For 2.4 kernels the max is 2 TB. For 32-bit 2.6 kernels it is 16 TB. For 64-bit 2.6 kernels it is 8 EB.
^As Mac OS X is a Unix-like system, which supports : in file names, and which uses / as a pathname component separator, : in file names is represented on disk in HFS and HFS+ as /.
^The Mac OS provides two sets of functions to retrieve file names from an HFS Plus volume, one of them returning the full Unicode names, the other shortened names fitting in the older 31 byte limit to accommodate older applications.
^HFS Plus mandates support for an escape sequence to allow arbitrary Unicode. Users of older software might see the escape sequences instead of the desired characters.
^The "." and ".." directory entries in HPFS that are seen by applications programs are a partial fiction created by the Installable File System drivers. The on-disk data structure for a directory does not contain entries by those names, but instead contains a special "start" entry. Whilst on-disk directory entries by those names are not physically prohibited, they cannot be created in normal operation, and a directory containing such entries is corrupt.
^This is the limit of the on-disk structures. The HPFS Installable File System driver for OS/2 uses the top 5 bits of the volume sector number for its own use, limiting the volume size that it can handle to 64 GB.
^ 39.039.1NSS allows files to have multiple names, in separate namespaces.
^ 40.040.1NTFS allows files to have multiple names, in separate namespaces: Win32, DOS, Win32&DOS, and Posix. Windows APIs create files with Win32 "long" names (1–255 characters), sometimes with an additional "short"/"alias" DOS name in the "8.3" format (12 characters).
^In the Win32 namespace, any UTF-16 code unit (case insensitive) except NUL and \ / : * ? " < > | is allowed; in the Posix namespace, any UTF-16 code unit (case sensitive) except NUL and / is allowed; in the DOS namespace, any character in the U+0021–U+007E range except \ / : * ? " < > | is allowed. Windows APIs require Win32 namespace compatibility, which prevents access to folders & files having only Posix names containing Win32-incompatible characters.
^ 44.044.1This is the limit of the on-disk structures. The NTFS driver for Windows NT limits the volume size that it can handle to 256 TB and the file size to 16 TB respectively.How NTFS Works. [2015-05-31]. (原始内容存档于2017-07-07).
^Some namespaces had lower name length limits. "LONG" had an 80-byte limit, "NWFS" 80 bytes, "NFS" 40 bytes and "DOS" imposed 8.3 filename.
^Maximum combined filename/filetype length is 236 bytes; each component has an individual maximum length of 255 bytes.
^Maximum pathname length is 4,096 bytes, but quoted limits on individual components add up to 1,664 bytes.
^ 48.048.1QFS allows files to exceed the size of disk when used with its integrated HSM, as only part of the file need reside on disk at any one time.
^See "dir (5)" in Volume 1 of the manual 存档副本. [2004-08-26]. (原始内容存档于2004-08-26).
^The actual maximum was 1,082,201,088 bytes, with 10 direct blocks, 1 singly indirect block, 1 doubly indirect block, and 1 triply indirect block. The 4.0BSD and 4.1BSD versions, and the System V version, used 1,024-byte blocks rather than 512-byte blocks, making the maximum 4,311,812,608 bytes or approximately 4 GB.
^ 59.059.1Maximum file size on a VMFS volume depends on the block size for that VMFS volume. The figures here are obtained by using the maximum block size.
^ 61.061.1XFS has a limitation under Linux 2.4 of 64 TB file size, but Linux 2.4 only supports a maximum block size of 2 TB. This limitation is not present under IRIX.
^ext4 has group descriptor, journal and, starting from Linux kernel 3.5, metadata checksumming
^ 65.065.1Concurrent DOS, FlexOS, Multiuser DOS, REAL/32, PalmDOS, Novell DOS, OpenDOS, and DR-DOS can store file owner information in reserved fields of directory entries on FAT12 and FAT16 volumes, if the optional multi-user security module is loaded. If loaded, most external commands invoke support for special /U:owner/group command line options to deal with this extra information.
^ 66.066.1Concurrent DOS, FlexOS, Multiuser DOS, REAL/32, DR DOS, PalmDOS, Novell DOS, OpenDOS, and DR-DOS can store read/write/delete/execute access permissions and file/directory passwords in reserved fields of directory entries on FAT12 and FAT16 volumes. This is an integral part of the design, therefore passwords can be appended to file or directory names with semicolon (for example: dirname;dirpwd\filename;filepwd), the PASSWORD command can be used to control permissions and some commands support a special /P:pwd option to deal with this feature.
^ 67.067.167.267.367.467.5File creation and file access timestamps are supported only by DOS 7.0 and higher, and typically only when explicitly enabled.
^ 68.068.168.2Some FAT implementations, such as in Linux, show file modification timestamp (mtime) in the metadata change timestamp (ctime) field. This timestamp is however, not updated on file metadata change.
^ 69.069.1Particular Installable File System drivers and operating systems may not support extended attributes on FAT12 and FAT16. The OS/2 and Windows NT filesystem drivers for FAT12 and FAT16 support extended attributes (using a "EA DATA. SF" pseudo-file to reserve the clusters allocated to them). Other filesystem drivers for other operating systems do not.
^File permission in 9P are a variation of the traditional Unix permissions with some minor changes, e.g. the suid bit is replaced by a new 'exclusive access' bit.
^The f-node contains a field for a user identifier. This is not used except by OS/2 Warp Server, however.
^ 73.073.1Time the file was recorded on the volume always available; "File Creation Date and Time" available only if the file has an Extended Attribute block.
^ 74.074.1Not applicable to file systems on a read-only medium.
^ 75.075.1Available only if the file has an Extended Attribute block.
^Creation time is stored in the backing ext4 filesystem, but is not yet sent to clients.
^Lustre has checksums for data over the network, but depends on backing filesystem and hardware for checksums of persistent data
^ 78.078.178.278.378.4Not available with ext3/4, but will be available with ZFS OST/MDT backing filesystems.
^NTFS access control lists can express any access policy possible using simple POSIX file permissions (and far more), but use of a POSIX-like interface is not supported without an add-on such as Services for UNIX or Cygwin.
^ 81.081.181.281.381.481.5The local time, timezone/UTC offset, and date are derived from the time settings of the reference/single timesync source in the NDS tree.
^ 82.082.1Novell calls this feature "multiple data streams". Published specifications say that NWFS allows for 16 attributes and 10 data streams, and NSS allows for unlimited quantities of both.
^ 83.083.1Some file and directory metadata is stored on the NetWare server irrespective of whether Directory Services is installed or not, like date/time of creation, file size, purge status, etc; and some file and directory metadata is stored in NDS/eDirectory, like file/object permissions, ownership, etc.
^ocfs2 computes and validates checksums of metadata objects like inodes and directories. It also stores an error correction code capable to fixing single-bite errors.
^Record Management Services (RMS) attributes include record type and size, among many others.
^ 86.086.1CRCs are employed for certain types of metadata.
^ 87.087.187.287.3Access-control lists and MAC labels are layered on top of extended attributes.
^Some operating systems implemented extended attributes as a layer over UFS1 with a parallel backing file (e.g., FreeBSD 4.x).
^MAC/Sensitivity labels are per filesystem. A label per file are not out of the question as a future compatible change but aren't part of any available version of ZFS.
^Solaris "extended attributes" are really full-blown alternate data streams, in both the Solaris UFS and ZFS. ZFS also has "system attributes" used for storing MS-DOS/NTFS compatible attributes for use by CIFS; as well as some attributes ported from FreeBSD
^Context based symlinks were supported in GFS, GFS2 only supports standard symlinks since the bind mount feature of the Linux VFS has made context based symlinks obsolete
^Mac OS System 7 introduced the 'alias', analogous to the POSIX symbolic link but with some notable differences. Not only could they cross file systems but they could point to entirely different file servers, and recorded enough information to allow the remote file system to be mounted on demand. It had its own API that application software had to use to gain their benefits-- this is the opposite approach from POSIX which introduced specific APIs to avoid the symbolic link nature of the link. The Finder displayed their file names in an italic font (at least in Roman scripts), but otherwise they behaved identically to their referent.
^Metadata-only journaling was introduced in the Mac OS 10.2.2 HFS Plus driver; journaling is enabled by default on Mac OS 10.3 and later.
^Although often believed to be case sensitive, HFS Plus normally is not. The typical default installation is case-preserving only. From Mac OS 10.3 on the command newfs_hfs -s (页面存档备份,存于互联网档案馆) will create a case-sensitive new file system. HFS Plus version 5 optionally supports case-sensitivity. However, since case-sensitivity is fundamentally different from case-insensitivity, a new signature was required so existing HFS Plus utilities would not see case-sensitivity as a file system error that needed to be corrected. Since the new signature is 'HX', it is often believed this is a new filesystem instead of a simply an upgraded version of HFS Plus. See Apple's File System Comparisons互联网档案馆的存檔,存档日期2008-10-06. (which hasn't been updated to discuss HFSX) and Technical Note TN1150: HFS Plus Volume Format (页面存档备份,存于互联网档案馆) (which provides a very technical overview of HFS Plus and HFSX).
^Mac OS Tiger (10.4) and late versions of Panther (10.3) provide file change logging (it's a feature of the file system software, not of the volume format, actually). See fslogger (页面存档备份,存于互联网档案馆).
^As of OS X 10.7, HFS+ supports full volume file encryption known as Filevault 2.
^Particular Installable File System drivers and operating systems may not support case sensitivity for JFS. OS/2 does not, and Linux has a mount option for disabling case sensitivity.
^Can be shrunk online by migrating files off an OST and removing the OST, or offline with ext3/4 backing filesystems by shrinking the OST filesystem
^ 113.0113.1113.2113.3Case-sensitivity/Preservation depends on client. Windows, DOS, and OS/2 clients don't see/keep case differences, whereas clients accessing via NFS or AFP may.
^ 114.0114.1The file change logs, last entry change timestamps, and other filesystem metadata, are all part of the extensive suite of auditing capabilities built into NDS/eDirectory called NSure Audit. (Filesystem Events tracked by NSure (页面存档备份,存于互联网档案馆))
^As of Windows Vista, NTFS fully supports soft links. See this Microsoft article on Vista kernel improvements (页面存档备份,存于互联网档案馆). NTFS 5.0 (Windows 2000) and higher can create junctions (页面存档备份,存于互联网档案馆), which allow any valid local directory (but not individual files) ("target" of junction) to be mapped to an NTFS version thereof ("source" = location of junction). The source directory must lie on an NTFS 5+ partition, but the target directory can lie on any valid local partition and needn't be NTFS. Junctions are implemented through reparse points, which allow the normal process of filename resolution to be extended in a flexible manner.
^ 116.0116.1NTFS stores everything, even the file data, as meta-data, so its log is closer to block journaling.
^While NTFS itself supports case sensitivity, the Win32 environment subsystem cannot create files whose names differ only by case for compatibility reasons. When a file is opened for writing, if there is any existing file whose name is a case-insensitive match for the new file, the existing file is truncated and opened for writing instead of a new file with a different name being created. Other subsystems like e. g. Services for Unix, that operate directly above the kernel and not on top of Win32 can have case-sensitivity.
^NTFS does not internally support snapshots, but in conjunction with the Volume Shadow Copy Service can maintain persistent block differential volume snapshots.
^System V Release 4, and some other Unix systems, retrofitted symbolic links to their versions of the Version 7 Unix file system, although the original version didn't support them.
^VxFS provides an optional feature called "Storage Checkpoints" which allows for advanced file system snapshots.
^ 136.0136.1ZFS is a transactional filesystem using copy-on-write semantics, guaranteeing an always-consistent on-disk state without the use of a traditional journal. However, it does also implement an intent log to provide better performance when synchronous writes are requested.
^ 138.0138.1Variable block size refers to systems which support different block sizes on a per-file basis. (This is similar to extents but a slightly different implementational choice.) The current implementation in UFS2 is read-only.
^Btrfs can only inline files smaller than 3916B with its metadataMailing list discussion. [2015-05-31]. (原始内容存档于2015-06-27).
^only for .REL (record structured) files, up to 254 bytes/record
^ 141.0141.1141.2141.3Fragments were planned, but never actually implemented on ext2 and ext3.
^e2compr, a set of patches providing block-based compression for ext2, has been available since 1997, but has never been merged into the mainline Linux kernel.
^Only if formatted with 4kB-sized clusters or smaller
^Each possible size (in sectors) of file tail has a corresponding suballocation block chain in which all the tails of that size are stored. The overhead of managing suballocation block chains is usually less than the amount of block overhead saved by being able to increase the block size but the process is less efficient if there is not much free disk space.
^ 153.0153.1153.2Ext2Fsd is an open source ext2/ext3/ext4 kernel-level file system driver for Windows systems (NT/2K/XP/VISTA/7, X86/AMD64) that provides both read/write access to the file system. Currently, does not fully support extents (no size truncating/extending, no file deletion), a default feature of ext4. [6] (页面存档备份,存于互联网档案馆)
^ 154.0154.1Ext2 IFS for Windows provides kernel-level read/write access to ext2 and ext3 volumes in Windows NT4, 2000, XP, Vista and Windows 2008. Does not support inodes size above 128 bytes and does not support ext4.[7] (页面存档备份,存于互联网档案馆)
^ 155.0155.1155.2Ext2Read is an explorer-like utility to explore ext2/ext3/ext4 file systems that provides read-only access to the file system. It supports extents, large inodes, and LVM2 volumes.Ext2Read (页面存档备份,存于互联网档案馆)
^ 156.0156.1156.2Paragon ExtFS for Mac is a low-level file system driver specially developed to bridge file system incompatibility between Linux and Mac by providing full read/write access to the Ext2, Ext3 and Ext4 file systems under Mac OS X.[8] (页面存档备份,存于互联网档案馆)
^ 157.0157.1157.2Fuse-ext2 is a multi OS FUSE module to mount ext2 and ext3 file system devices and/or images with read and write support.[9][失效連結]
^Ext2fsx is the first and old implementation of the Ext2 (Linux) filesystem for Mac OS X.[10] (页面存档备份,存于互联网档案馆)
^ 162.0162.1ext4fuse is a free software multi OS FUSE module to mount ext4 file system devices and/or images with read-only support. [11] (页面存档备份,存于互联网档案馆)
^Native FAT32 support with MS-DOS 7.10 and 8.0. Loadable FAT32 support for any DOS since 3.31 with DRFAT32 redirector driver. Native FAT32 support since OEM DR-DOS 7.04, bootable FAT32 support since OEM DR-DOS 7.06. Native FAT32 support with OEM PC DOS 7.10.