请输入您要查询的百科知识:

 

词条 Comparison of file systems
释义

  1. General information

  2. Limits

  3. Metadata

  4. Features

     File capabilities  Resize capabilities 

  5. Allocation and layout policies

  6. OS support

  7. See also

  8. Notes

  9. References

  10. External links

{{Expand list|date=July 2015}}

The following tables compare general and technical information for a number of file systems.

General information

File systemCreatorYear of introductionOriginal operating system
DECtape DEC 1964 PDP-6 Monitor
OS/3x0 FS IBM 1964 OS/360
Level-D DEC 1968 TOPS-10
George 2 ICT (later ICL) 1968 George 2
Version 6 Unix file system (V6FS) Bell Labs 1972 Version 6 Unix
RT-11 file system DEC 1973 RT-11
Disk Operating System (GEC DOS) GEC 1973 Core Operating System
CP/M file system Digital Research (Gary Kildall) 1974 CP/M[1][2]
ODS-1 DEC 1975 RSX-11
GEC DOS filing system extended GEC 1977 OS4000
FAT (8-bit) Microsoft (Marc McDonald) for NCR 1977 Microsoft Standalone Disk BASIC-80 (later Microsoft Standalone Disk BASIC-86)
DOS 3.x Apple 1978 Apple DOS
UCSD p-System UCSD 1978 UCSD p-System
CBM DOS Commodore 1978 Commodore BASIC
Version 7 Unix file system (V7FS) Bell Labs 1979 Version 7 Unix
ODS-2 DEC 1979 OpenVMS
FAT12 Seattle Computer Products (Tim Paterson) 1980 QDOS/86-DOS (later IBM PC DOS 1.0)
DFS Acorn Computers Ltd 1982 Acorn BBC Micro MOS
ADFS Acorn Computers Ltd 1983 Acorn Electron (later Arthur/RISC OS)
FFS Kirk McKusick 1983 4.2BSD
ProDOS Apple 1983 ProDOS 8
FAT16 IBM, Microsoft 1984 PC DOS 3.0, MS-DOS 3.0
MFS Apple 1984 System 1
Elektronika BK tape format NPO "Scientific centre" (now Sitronics) 1985 Vilnius Basic, BK monitor program
HFS Apple 1985 System 2.1
Amiga OFS{{ref|54}} Metacomco for Commodore 1985 Amiga OS
GEMDOS Digital Research 1985 Atari TOS
NWFS Novell 1985 NetWare 286
High Sierra Ecma International 1986 MSCDEX for MS-DOS 3.1/3.2[3]
FAT16B Compaq 1987 Compaq MS-DOS 3.31
Minix V1 FS Andrew S. Tanenbaum 1987 MINIX 1.0
Amiga FFS Commodore 1988 Amiga OS 1.3
1988 Ecma International, ISO 1988 MS-DOS, "classic" Mac OS, and AmigaOS
HPFS IBM & Microsoft 1989 OS/2 1.2
Rock Ridge IEEE1990|sortable=yes}} Unix
JFS1 IBM 1990name=note-11 |IBM introduced JFS with the initial release of AIX Version 3.1 in 1990. This file system now called JFS1. The new JFS, on which the Linux port was based, was first shipped in OS/2 Warp Server for e-Business in 1999. The same sourcebase was also used for release JFS2 on AIX 5L.}}
VxFS VERITAS 1991 SVR4.0
ext Rémy Card 1992 Linux
AdvFS DEC 1993[4] Digital Unix
NTFS Microsoft (Gary Kimura, Tom Miller) 1993 Windows NT 3.1
LFS Margo Seltzer 1993 Berkeley Sprite
ext2 Rémy Card 1993 Linux, Hurd
Xiafs Q. Frank Xia 1993 Linux
UFS1 Kirk McKusick 1994 4.4BSD
XFS SGI 1994 IRIX
HFS IBM 1994 MVS/ESA (now z/OS)
FAT16X Microsoft 1995 MS-DOS 7.0 / Windows 95
Joliet ("CDFS") Microsoft 1995 Microsoft Windows, Linux, "classic" Mac OS, and FreeBSD
UDF ISO/ECMA/OSTA 1995 {{n/a}}
FAT32, FAT32X Microsoft 1996name=note-10 |Microsoft first introduced FAT32 in MS-DOS 7.1 / 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.}}
QFS Sun Microsystems 1996 Solaris
GPFS IBM 1996 AIX, Linux
Be File System Be Inc. (D. Giampaolo, Cyril Meurillon) 1996 BeOS
Minix V2 FS Andrew S. Tanenbaum 1997 MINIX 2.0
HFS Plus Apple 1998 Mac OS 8.1
NSS Novell 1998 NetWare 5
PolyServe File System (PSFS) PolyServe 1998 Windows, Linux
ODS-5 DEC 1998 OpenVMS 7.2
WAFL NetApp 1998 Data ONTAP
ext3 Stephen Tweedie 1999 Linux
1999 Ecma International, ISO 1999 Microsoft Windows, Linux, "classic" Mac OS, FreeBSD, and AmigaOS
JFS IBM 1999 OS/2 Warp Server for e-business
GFS Sistina (Red Hat) 2000 Linux
ReiserFS Namesys 2001 Linux
zFS IBM 2001 z/OS (backported to OS/390)
FATX Microsoft 2002 Xbox
UFS2 Kirk McKusick 2002 FreeBSD 5.0
OCFS Oracle Corporation 2002 Linux
SquashFS Phillip Lougher, Robert Lougher 2002 Linux
VMFS2 VMware 2002 VMware ESX Server 2.0
Lustre Cluster File Systems[5] 2002 Linux
Fossil Bell Labs 2003 Plan 9 version 4
Google File System Google 2003 Linux
ZFS Sun Microsystems 2004 Solaris
Reiser4 Namesys 2004 Linux
Non-Volatile File System Palm, Inc. 2004 Palm OS Garnet
BeeGFSFraunhofer/ ThinkParQ2005Linux, Windows via Samba
GlusterFS Gluster Inc. 2005 Linux
Minix V3 FS Andrew S. Tanenbaum 2005 MINIX 3
OCFS2 Oracle Corporation 2005 Linux
NILFS NTT 2005 Linux
VMFS3 VMware 2005 VMware ESX Server 3.0
GFS2 Red Hat 2006 Linux
ext4 various 2006 Linux
exFAT Microsoft 2006 Windows CE 6.0
Btrfs Oracle Corporation 2007 Linux
JXFS Hyperion Entertainment 2008 AmigaOS 4.1
HAMMER Matthew Dillon 2008 DragonFly BSD 2.0
LSFS StarWind Software 2009 Linux, FreeBSD, Windows
UniFS Nasuni 2009 Cloud
CASL Nimble Storage 2010 Linux
OrangeFSOmnibond and others2011 Linux
VMFS5 VMware 2011 vSphere 5.0+
CHFS University of Szeged 2011 NetBSD 6.0+
ReFS Microsoft 2012 Windows Server 2012
F2FS Samsung Electronics 2012 Linux
bcachefs Kent Overstreet 2015 Linux
APFS Apple 2016 macOS High Sierra, iOS 10.3
NOVA UC, San Diego 2017 Linux
HAMMER2 Matthew Dillon[6] 2017 DragonFly BSD 5.0

Limits

File system Maximum filename lengthname=note-25 |These 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; operating systems may also place restrictions of their own, across all filesystems. DOS, Windows, and OS/2 allow only the following characters from the current 8-bit OEM codepage in SFNs: A-Z, 0-9, characters ! # $ % & ' ( ) - @ ^ _ ` { } ~, as well as 0x80-0xFF and 0x20 (SPACE). Specifically, lowercase letters a-z, characters " * / : < > ? \\ | + , . ; = [ ], control codes 0x00-0x1F, 0x7F and in some cases also 0xE5 are not allowed.) In LFNs, any UCS-2 Unicode except \\ / : ? * " > < | and NUL are allowed in file and directory names across all filesystems. Unix-like systems disallow the characters / and NUL in file and directory names across all filesystems. Maximum pathname length Maximum file sizename=note-4 |For 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 KiB 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 KiB).Max number of files
BeeGFS255 bytesname=note-26}}name=note-12}}16 EiB16 EiB {{dunno}}
CP/M file system 8.3 ASCII except for < > . , ; : = ? * [ ] No directory hierarchy (but accessibility of files depends on user areas via USER command since CP/M 2.2)32 MiB512 MiB {{dunno}}
IBM SFS 8.8 {{dunno}} {{dunno}}Non-hierarchical[7] data-sort-type="number" data-sort-value="0" {{dunno}} {{dunno}}
DECtape 6.3 A–Z, 0–9 DTxN:FILNAM.EXT = 15369,280 bytes (577 * 640)369,920 bytes (578 * 640) {{dunno}}
Elektronika BK tape format 16 bytes {{dunno}} No directory hierarchy64 KiBNot limited. Approx. 800KB (one side) for 90 min cassette {{dunno}}
MicroDOS file system 14 bytes {{dunno}} {{dunno}}16 MiB32 MiB {{dunno}}
Level-D 6.3 A–Z, 0–9 DEVICE:FILNAM.EXT[PROJCT,PROGRM] = 7 + 10 + 15 = 32; + 5*7 for SFDs = 6734,359,738,368 words (2**35-1); 206,158,430,208 SIXBIT bytesApprox 12 GB (64 * 178 MB) {{dunno}}
RT-11 6.3 A–Z, 0–9, $ 0 (no directory hierarchy)33,554,432 bytes (65536 * 512)33,554,432 bytes {{dunno}}
Version 6 Unix file system (V6FS) 14 bytes/{{efn>name=note-26 |In these filesystems the directory entries named "." and ".." have special status. Directory entries with these names are not prohibited, and indeed exist as normal directory entries in the on-disk data structures. However, they are mandatory directory entries, with mandatory values, that are automatically created in each directory when it is created; and directories without them are considered corrupt.}}name=note-12 |The on-disk structures have no inherent limit. Particular Installable File System drivers and operating systems may impose limits of their own, however. Limited by its Current Directory Structure (CDS), DOS does not support more than 32 directory levels (except for DR DOS 3.31-6.0) or full pathnames longer than 66 bytes for FAT, or 255 characters for LFNs. Windows NT does not support full pathnames longer than 32,767 bytes for NTFS. Linux has a pathname limit of 4,096.}}16 MiB{{efn |name=note-57 |The file size in the inode is 1 8-bit byte followed by 1 16-bit word, for 24 bits. The actual maximum was 8,847,360 bytes, with 7 singly-indirect blocks and 1 doubly-indirect block; PWB/UNIX 1.0's variant had 8 singly-indirect blocks, making the maximum 524,288 bytes or half a MiB.}}32 MiB {{dunno}}
Disk Operating System (GEC DOS) {{dunno}} {{dunno}} {{dunno}} data-sort-type="number" data-sort-value="0" {{dunno}} at least 131,072 bytes data-sort-type="number" data-sort-value="0" {{dunno}} {{dunno}}
GEC DOS filing system extended 8 bytes A–Z, 0–9. Period was directory separator {{dunno}} No limit defined (workaround for OS limit) data-sort-type="number" data-sort-value="0" {{dunno}} at least 131,072 bytes data-sort-type="number" data-sort-value="0" {{dunno}} {{dunno}}
CBM DOS 16 bytes Any byte except NUL 0 (no directory hierarchy)16 MiB16 MiB {{dunno}}
Version 7 Unix file system (V7FS) 14 bytes/{{efn>name=note-26}}name=note-12}}1 GiB{{efn |name=note-58 |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 GiB.}}2 TiB {{dunno}}
exFAT 255 UTF-16 characters {{dunno}} 32,760 Unicode characters with each path component no more than 255 characters[8]16 EiB[8]64 ZiB (276 bytes) {{dunno}}
FAT (8-bit) 6.3 (binary files) / 9 characters (ASCII files) ASCII (0x00 and 0xFF not allowed in first character) No directory hierarchy data-sort-type="number" data-sort-value="0" {{dunno}} data-sort-type="number" data-sort-value="0" {{dunno}} {{dunno}}
FAT12/FAT16 characters with LFN){{efn>name=note-24 |Depends on whether the FAT12, FAT16, and FAT32 implementation has support for LFNs. Where it does not, as in OS/2, 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 OEM characters (space padded in both the basename and extension parts) and may not contain NUL (end-of-directory marker) or character 5 (replacement for character 229 which itself is used as deleted-file marker). Short names also must not contain lowercase letters. A few special device names (CON, NUL, AUX, PRN, LPT1, COM1, etc.) should be avoided, as some operating systems (notably DOS, OS/2 and Windows) reserve them.}}{{efn |name=note-25}}{{efn |name=note-26}}name=note-12}}32 MiB (4 GiB){{efn |name="note-fsize"|On-disk structures would support up to 4 GiB, but practical file size is limited by volume size.}}1 MiB to 32 MiB {{dunno}}
FAT16B/FAT16X characters with LFN){{efn>name=note-24}}{{efn |name=note-25}}{{efn |name=note-24}}{{efn |name=note-26}}name=note-12}}2 (4) GiB{{efn |name="note-fsize"}}16 MiB to 2 (4) GiB {{dunno}}
FAT32/FAT32X characters with LFN){{efn>name=note-24}}{{efn |name=note-25}}{{efn |name=note-24}}{{efn |name=note-26}} 32,760 Unicode characters with each path component no more than 255 characters[8]4 GiB[8]512 MiB to 16 TiB{{efn |While FAT32 partitions this large work fine once created, some software won't allow creation of FAT32 partitions larger than 32 GiB. 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.[9]}} {{dunno}}
FATXname=note-24}} ASCII. Unicode not permitted.name=note-12}}2 GiB16 MiB to 2 GiB {{dunno}}
Fossil {{dunno}} {{dunno}} {{dunno}} data-sort-type="number" data-sort-value="0" {{dunno}} data-sort-type="number" data-sort-value="0" {{dunno}} {{dunno}}
GEMDOS 8.3[ ] ( ) _[10] {{dunno}} {{dunno}} {{dunno}} {{dunno}}
APFS 255 UTF-8 characters Unicode 9.0 encoded in UTF-8 [11] {{dunno}}8 EiB data-sort-type="number" data-sort-value="0" {{dunno}}263 [12]
F2FS 255 bytesname=note-26}}name=note-12}}3.94 TiB16 TiB {{dunno}}
MFS 255 bytes Any byte except : No path (flat filesystem)256 MiB256 MiB {{dunno}}
HFS 31 bytes Any byte except : Unlimited2 GiB2 TiB {{dunno}}
HPFS 255 bytesname=note-27 |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.}}name=note-12}}2 GiB2 TiB{{efn |name=note-13 |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 GiB.}} {{dunno}}
NTFS 255 characters In Win32 namespace: any UTF-16 code unit (case-insensitive) except /\\*"?<>| as well as NUL

In POSIX namespace: any UTF-16 code unit (case-sensitive) except / as well as NUL[13]

name=note-12}}16 EiB{{efn |name=note-55 |This is the limit of the on-disk structures. The NTFS driver for Windows NT limits the volume size that it can handle to 256 TiB and the file size to 16 TiB respectively.}}16 EiB{{efn |name=note-55}} {{dunno}}
ReFS 255 UTF-16 characters[14] Any Unicode except NUL, /[14] 32,767 Unicode characters with each path component (directory or filename) up to 255 characters long[14]16 EiB[14]3.76 ZiB[15] {{dunno}}
HFS Plusname=note-1 |The "classic" 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.}}name=note-26}}{{efn |name=note-2 |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.}} Unlimitedslightly less than 8 EiBslightly less than 8 EiB[16][17] {{dunno}}
FFS 255 bytesname=note-26}}name=note-12}}4 GiB256 TiB {{dunno}}
HAMMER 255 bytes[18]name=note-26}} {{dunno}} data-sort-type="number" data-sort-value="0" {{dunno}}1 EiB[19] {{dunno}}
UFS1 255 bytesname=note-26}}name=note-12}}16 GiB to 256 TiB16 EiB Subdirectory per directory is 32,767[20]
UFS2 255 bytesname=note-26}}name=note-12}}512 GiB to 32 PiB512 ZiB[21] (279 bytes) Subdirectory per directory is 32,767[20]
ext 255 bytesname=note-26}}name=note-12}}2 GiB2 GiB {{dunno}}
Xiafs 248 bytesname=note-26}}name=note-12}}64 MiB2 GiB {{dunno}}
ext2 255 bytesname=note-26}}name=note-12}}16 GiB to 2 TiB{{efn |name=note-4}}2 TiB to 32 TiB {{dunno}}
ext3 255 bytesname=note-26}}name=note-12}}16 GiB to 2 TiB{{efn |name=note-4}}2 TiB to 32 TiB {{dunno}}
ext4 255 bytes[22]name=note-26}}name=note-12}}16 GiB to 16 TiB{{efn |name=note-4}}[23]1 EiB232
NOVA 255 bytesname=note-26}}name=note-12}}16 EiB16 EiB {{dunno}}
Lustre 255 bytesname=note-26}}name=note-12}}16 EiB on ZFS16 EiB {{dunno}}
GPFS 255 UTF-8 codepointsname=note-26}}name=note-12}}No limit found299 bytes (2 PiB tested) {{dunno}}
GFS 255 bytesname=note-26}}name=note-12}}2 TiB to 8 EiB{{efn |name=note-63 |Depends on kernel version and arch. For 2.4 kernels the max is 2 TiB. For 32-bit 2.6 kernels it is 16 TiB. For 64-bit 2.6 kernels it is 8 EiB.}}2 TiB to 8 EiB{{efn |name=note-63}} {{dunno}}
NILFS 255 bytesname=note-26}}name=note-12}}8 EiB8 EiB {{dunno}}
ReiserFS 4,032 bytes/255 characters'/'{{efn>name=note-26}}name=note-12}}8 TiB{{efn |ReiserFS has a theoretical maximum file size of 1 EiB, but "page cache limits this to 8 Ti on architectures with 32 bit int"[24]}} (v3.6), 4 GiB (v3.5)16 TiB {{dunno}}
Reiser4 3,976 bytes Any byte except / and NULname=note-12}}8 TiB on x86 data-sort-type="number" data-sort-value="0" {{dunno}} {{dunno}}
OCFS 255 bytesname=note-26}}name=note-12}}8 TiB8 TiB {{dunno}}
OCFS2 255 bytesname=note-26}}name=note-12}}4 PiB4 PiB {{dunno}}
XFSNote that the filename can be much longer XFS#Extended attributes}}name=note-26}}name=note-12}}8 EiB{{efn |name=note-9 |XFS has a limitation under Linux 2.4 of 64 TiB file size, but Linux 2.4 only supports a maximum block size of 2 TiB. This limitation is not present under IRIX.}}8 EiB{{efn |name=note-9}} {{dunno}}
JFS1 255 bytesname=note-26}}name=note-12}}8 EiB512 TiB to 4 PiB {{dunno}}
JFS 255 bytes Any Unicode except NULname=note-12}}4 PiB32 PiB {{dunno}}
QFS 255 bytesname=note-26}}name=note-12}}16 EiB{{efn |name=note-72 |QFS 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.}}4 PiB{{efn |name=note-72}} {{dunno}}
BFS 255 bytesname=note-26}}name=note-12}}12,288 bytes to 260 GiB{{efn |name=note-3 |Varies wildly according to block size and fragmentation of block allocation groups.}}256 PiB to 2 EiB {{dunno}}
AdvFS 255 charactersname=note-26}}name=note-12}}16 TiB16 TiB {{dunno}}
NSS 256 charactersname=note-28 |NSS allows files to have multiple names, in separate namespaces.}} Only limited by client8 TiB8 TiB {{dunno}}
NWFSname=note-52 |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.}}name=note-28}}name=note-12}}4 GiB1 TiB {{dunno}}
ODS-5name=note-15 |Maximum combined filename/filetype length is 236 bytes; each component has an individual maximum length of 255 bytes.}} {{dunno}}name=note-16 |Maximum pathname length is 4,096 bytes, but quoted limits on individual components add up to 1,664 bytes.}}1 TiB1 TiB {{dunno}}
VxFS 255 bytesname=note-26}}name=note-12}}16 EiB data-sort-type="number" data-sort-value="0" {{dunno}} {{dunno}}
UDF 255 bytes Any Unicode except NULname=note-43 |This restriction might be lifted in newer versions.}}16 EiB512 MiB to 16 TiB {{dunno}}
ZFS 255 bytes Any Unicode except NULname=note-12}}16 EiB256 ZiB (278 bytes)2128
Btrfs 255 bytes Any byte except '/' and NUL No limit defined16 EiB16 EiB264
Minix V1 FS 14 or 30 bytes, set at filesystem creation timename=note-26}}name=note-12}}256.5 MiB {{efn |name=note-file-size-vs-filesystem-size |Sparse files can be larger than the file system size, even though they can't contain more data.}}64 MiB {{dunno}}
Minix V2 FS 14 or 30 bytes, set at filesystem creation timename=note-26}}name=note-12}}2 GiB {{efn |name=note-file-size-vs-filesystem-size}}1 GiB {{dunno}}
Minix V3 FS 60 bytesname=note-26}}name=note-12}}2 GiB 4 GiB {{dunno}}
VMFS2 128/{{efn>name=note-26}} 2,0484 TiB{{efn |name=note-74 |Maximum 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.}}64 TiB {{dunno}}
VMFS3 128/{{efn>name=note-26}} 2,0482 TiB{{efn |name=note-74}}64 TiB {{dunno}}
1988 Level 1: 8.3,
Level 2 & 3: ~ 180
ISO 9660#Restrictions}} ~ 180 bytes?4 GiB (Level 1 & 2) to 8 TiB (Level 3){{efn |Through the use of multi-extents, a file can consist of multiple segments, each up to 4 GiB in size. See ISO 9660#The 2 GiB (or 4 GiB depending on implementation) file size limit}}8 TiB{{efn |Assuming the typical 2048 Byte sector size. The volume size is specified as a 32 bit value identifying the number of sectors on the volume.}} {{dunno}}
Joliet ("CDFS") 64 Unicode characters All UCS-2 code except *, /, \\, :, ;, and ?[25] {{dunno}}same as 1988same as 1988 {{dunno}}
Rock Ridge 255 bytesname=note-26}}name=note-12}}same as 1988same as 1988 {{dunno}}
UniFS No limit defined (depends on client) {{dunno}} No limit defined (depends on client) Available cache space at time of write (depends on platform) No limit defined No limit defined
1999 {{dunno}} {{dunno}} {{dunno}} data-sort-type="number" data-sort-value="0" {{dunno}} data-sort-type="number" data-sort-value="0" {{dunno}} {{dunno}}
High Sierra Format {{dunno}} {{dunno}} {{dunno}} data-sort-type="number" data-sort-value="0" {{dunno}} data-sort-type="number" data-sort-value="0" {{dunno}} {{dunno}}
SquashFS {{dunno}} {{dunno}} No limit defined16 EiB16 EiB {{dunno}}
File system Maximum filename lengthname=note-25 Maximum pathname length Maximum file sizename=note-4 Max number of files

Metadata

File system Stores file owner POSIX file permissions Creation timestamps Last access/ read timestamps Last metadata change timestamps Last archive timestamps Access control lists Security/ MAC labels Extended attributes/ Alternate data streams/ forks Checksum/ ECC
BeeGFS{{yes}}{{yes}}{{no}}{{yes}}{{yes}}{{no}}{{yes}}{{dunno}}{{yes}}{{yes}}
CP/M file system {{no}} {{no}}Implemented in later versions as an extension}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
DECtape[26] {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
Elektronika BK tape format {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{yes}}
Level-D {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}} {{no}} {{no}}
RT-11[27] {{no}} {{no}} {{yes}} (date only) {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{yes}}
Version 6 Unix file system (V6FS)[28] {{yes}} {{yes}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
Version 7 Unix file system (V7FS)[29] {{yes}} {{yes}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
FAT12/FAT16/FAT32 {{no}} {{no}} {{yes}} {{yes}}name=fat-ctime |Some 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.}} {{no}} {{no}} {{no}}name=note-22 |Particular 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.}} {{no}}
HPFSname=note-14 |The f-node contains a field for a user identifier. This is not used except by OS/2 Warp Server, however.}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{dunno}} {{yes}} {{no}}
NTFS {{yes}}name=note-5 |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.}} {{yes}} {{yes}} {{yes}} {{no}} {{yes}}As of Vista, NTFS has support for Mandatory Labels, which are used to enforce Mandatory Integrity Control.[30]}} {{yes}} {{no}}
ReFS {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}} {{yes}} {{dunno}}Initially, ReFS lacked support for ADS, but Server 2012 R2 and up add support for ADS on ReFS}}Data checksums not enabled by default}}
HFS {{no}} {{no}} {{yes}} {{no}} {{no}} {{yes}} {{no}} {{no}} {{yes}} {{no}}
HFS Plus {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{dunno}} {{yes}} {{no}}
FFS {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}}
UFS1 {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}}name=note-33 |Access-control lists and MAC labels are layered on top of extended attributes.}}name=note-33}}name=note-32 |Some operating systems implemented extended attributes as a layer over UFS1 with a parallel backing file (e.g., FreeBSD 4.x).}} {{no}}
UFS2 {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}}name=note-33}}name=note-33}} {{yes}} {{no}}
HAMMER {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{dunno}} {{yes}} {{yes}} {{no}} {{yes}}
LFS {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}}
ext {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
Xiafs {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}}
ext2 {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}}name=note-23 |Some Installable File System drivers and operating systems may not support extended attributes, access control lists or security labels on these filesystems. Linux kernels prior to 2.6.x may either be missing support for these altogether or require a patch.}}name=note-23}} {{yes}} {{no}}
ext3 {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}}name=note-23}}name=note-23}} {{yes}} {{no}}
ext4 {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}}name=note-23}}name=note-23}} {{yes}}Journal and metadata only[31]}}
NOVA {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{yes}}
Lustre {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{yes}} {{no}}
F2FS {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}}name=note-23}}name=note-23}} {{yes}} {{no}}
GPFS {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{yes}} {{yes}}
GFS {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}}name=note-23}}name=note-23}} {{yes}} {{no}}
NILFS {{yes}} {{yes}} {{yes}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{yes}}
ReiserFS {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}}name=note-23}}name=note-23}} {{yes}} {{no}}
Reiser4 {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}}
OCFS {{no}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}}
OCFS2 {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}}
XFS {{yes}} {{yes}}name=note-35 |Creation time stored since June 2015, xfsprogs version 3.2.3}} {{yes}} {{yes}} {{no}} {{yes}}name=note-23}} {{yes}}name=note-34 |Metadata checksums stored since June 2015, xfsprogs version 3.2.3}}
JFS {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{yes}} {{no}}
QFS {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}} {{yes}} {{no}}
BFS {{yes}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}}
AdvFS {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{yes}} {{no}} {{yes}} {{no}}
NSS {{yes}} {{yes}}name=note-31 |The local time, timezone/UTC offset, and date are derived from the time settings of the reference/single timesync source in the NDS tree.}}name=note-31}} {{yes}}name=note-31}} {{yes}} {{dunno}}name=note-19 |Novell 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.}}{{efn |name=note-29 |Some 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.}} {{no}}
NWFS {{yes}} {{dunno}}name=note-31}}name=note-31}} {{yes}}name=note-31}} {{yes}} {{dunno}}name=note-19}}{{efn |name=note-29}} {{no}}
ODS-5 {{yes}} {{yes}} {{yes}} {{dunno}} {{dunno}} {{yes}} {{yes}} {{dunno}}name=note-17 |Record Management Services (RMS) attributes include record type and size, among many others.}} {{no}}
APFS {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{dunno}} {{yes}} {{partial}}
VxFS {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}} {{yes}} {{dunno}}name=note-23}} {{no}}
UDF {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}} {{yes}} {{no}}
Fossil {{yes}}name=note-61 |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.}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}}
ZFS {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}}name=note-69 |Supported on FreeBSD and Linux implementations, support may not be available on all operating systems.}}name=note-60 |Solaris "extended attributes" are really full-blown alternate data streams, in both the Solaris UFS and ZFS.}} {{yes}}
Btrfs {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{yes}}disabling copy-on-write (COW) to prevent fragmentation also disables checksumming}}
Minix V1 {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
Minix V2 {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}}
Minix V3 {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}}
VMFS2 {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}}
VMFS3 {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}}
1988 {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
Rock Ridge {{yes}} {{yes}} {{no}}Access times are preserved from the original file system at creation time, but Rock Ridge file systems themselves are read-only.}} {{yes}} {{no}}libburnia can backup and restore ACLs with file system creation and extraction programs, but no kernel support exists.}}name=note-78|libburnia can backup and restore extended attributes and MAC labels with file system creation and extraction programs, but no kernel support exists.}}name=note-78}} {{no}}
Joliet ("CDFS") {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
1999 {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
High Sierra {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
SquashFS{{yes}}{{yes}}{{yes}}{{yes}}{{yes}}{{no}}{{yes}}{{no}}{{yes}}{{no}}
File system Stores file owner POSIX file permissions Creation timestamps Last access/read timestamps Last metadata change timestamps Last archive timestamps Access control lists Security/ MAC labels Extended attributes/ Alternate data streams/ forks Checksum/ ECC

Features

File capabilities

File system Hard links Symbolic links Block journaling Metadata-only journaling Case-sensitive Case-preserving File Change Log Internal snapshotting / branching XIP Filesystem-level encryption Data deduplication Data checksums
DECtape {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
BeeGFS {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}}
Level-D {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
RT-11 {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
APFS {{yes}} {{yes}} {{dunno}} {{dunno}} {{partial}} {{yes}} {{dunno}} {{yes}} {{dunno}} {{yes}} {{partial}} {{no}}
Version 6 Unix file system (V6FS) {{yes}} {{no}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
Version 7 Unix file system (V7FS) {{yes}}name=note-59 |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.}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
FAT12 {{no}} {{no}} {{no}} {{partial}} (with TFAT12 only) {{no}} {{partial}} (with VFAT LFNs only) {{no}} {{no}} {{no}} {{partial}} (DR-DOS with SECURITY only) {{no}} {{no}}
FAT16 / FAT16B / FAT16X {{no}} {{no}} {{no}} {{partial}} (with TFAT16 only) {{no}} {{partial}} (with VFAT LFNs only) {{no}} {{no}} {{no}} {{partial}} (DR-DOS with SECURITY only) {{no}} {{no}}
FAT32 / FAT32X {{no}} {{no}} {{no}}? {{partial}} (with TFAT32 only) {{no}} {{partial}} (with VFAT LFNs only) {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
GFS {{yes}}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}} {{yes}}Optional journaling of data}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{dunno}} {{no}}
HPFS {{no}} {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{dunno}} {{no}} {{no}} {{dunno}} {{no}}
NTFS {{yes}}As of Windows Vista, NTFS fully supports symbolic links.[32] NTFS 3.0 (Windows 2000) and higher can create junctions, which allow entire directories (but not individual files) to be mapped to elsewhere in the directory tree of the same partition (file system). These are implemented through reparse points, which allow the normal process of filename resolution to be extended in a flexible manner.}}name=note-37 |NTFS stores everything, even the file data, as meta-data, so its log is closer to block journaling.}}name=note-37}} (2000)name=note-36 |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.}} {{yes}} {{yes}}name=note-93 |NTFS does not internally support snapshots, but in conjunction with the Volume Shadow Copy Service can maintain persistent block differential volume snapshots.}} {{dunno}} {{yes}}name=note-NTFS-Dedup |Supported only on Windows Server SKUs. However, partitions deduplicated on Server can be used on Client.}}[33] {{no}}
HFS Plus {{yes}}[34] {{yes}} {{no}}name=note-48 |Metadata-only journaling was introduced in the Mac OS X 10.2.2 HFS Plus driver; journaling is enabled by default on Mac OS X 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 X 10.3 on the command newfs_hfs -s will create a case-sensitive new file system.[35] 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.[36][37]}} {{yes}}Mac OS X 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).[38]}} {{no}} {{no}}name=note-77 |HFS+ does not actually encrypt files: to implement FileVault, OS X creates an HFS+ filesystem in a sparse, encrypted disk image that is automatically mounted over the home directory when the user logs in.}} {{no}} {{no}}
FFS {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
UFS1 {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
UFS2 {{yes}} {{yes}} {{no}}name=note-66 |"Soft dependencies" (softdep) in NetBSD, called "soft updates" in FreeBSD provide meta-data consistency at all times without double writes (journaling)}} [39] {{efn|Journaled Soft Updates (SU+J) are the default as of FreeBSD 9.x-RELEASE [40][41]}} {{yes}} {{yes}} {{no}} {{yes}} {{dunno}} {{no}} {{no}} {{no}}
HAMMER {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{dunno}} {{yes}} {{no}} {{no}} {{yes}} {{yes}}
LFS {{yes}} {{yes}}name=note-38 |UDF, LFS, and NILFS are log-structured file systems and behave as if the entire file system were a journal.}} {{no}} {{yes}} {{yes}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}}
ext {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
Xiafs {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
ext2 {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}}name=note-65 |Linux kernel versions 2.6.12 and newer.}} {{no}} {{no}} {{no}}
ext3 {{yes}} {{yes}}name=note-62 |Off by default.}} {{yes}} (2001) {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}}
ext4 {{yes}} {{yes}}name=note-62}} {{yes}} {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{yes}}, experimental [42] {{no}} {{no}}
NOVA {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{yes}}
F2FS {{yes}} {{yes}}name=note-38}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{yes}}, experimental [43] {{no}} {{no}}
Lustre {{yes}} {{yes}}name=note-62}} {{yes}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
NILFS {{yes}} {{yes}}name=note-38}} {{no}} {{yes}} {{yes}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{yes}}
ReiserFS {{yes}} {{yes}}name=note-44 |Full block journaling for ReiserFS was added to Linux 2.6.8.}} {{yes}} {{yes}} {{yes}} {{no}} {{no}} {{dunno}} {{no}} {{no}} {{no}}
Reiser4 {{yes}} {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{dunno}} {{dunno}}name=note-50 |Reiser4 supports transparent compression and encryption with the cryptcompress plugin which is the default file handler in version 4.1.}} {{dunno}} {{no}}
OCFS {{no}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
OCFS2 {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
XFS {{yes}} {{yes}} {{yes}} {{yes}}name=note-40 |Optionally no on IRIX.}} {{yes}} {{yes}} {{no}} {{dunno}} {{no}} {{yes}}, experimental [44] {{no}}
JFS {{yes}} {{yes}} {{yes}} {{yes}} (1990)name=note-30 |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.}} {{yes}} {{no}} {{dunno}} {{dunno}} {{no}} {{dunno}} {{no}}
QFS {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
BFS {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{yes}} {{dunno}} {{no}} {{no}} {{no}} {{no}} {{no}}
NSS {{yes}} {{yes}} {{dunno}} {{yes}}name=note-20 |Case-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.}}name=note-20}}name=note-6 |The 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.[45]}} {{yes}} {{no}} {{yes}} {{dunno}} {{no}}
NWFSname=note-53 |Available only in the "NFS" namespace.}}name=note-53}} {{no}} {{no}}name=note-20}}name=note-20}}name=note-6}} {{dunno}} {{no}} {{no}} {{dunno}} {{no}}
ODS-2 {{yes}}name=note-18 |These are referred to as "aliases".}} {{no}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}}
ODS-5 {{yes}}name=note-18}} {{no}} {{yes}} {{no}} {{yes}} {{yes}} {{yes}} {{dunno}} {{no}} {{no}} {{no}}
UDF {{yes}} {{yes}}name=note-38}}name=note-38}} {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}}
VxFS {{yes}} {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{yes}}name=note-70 |VxFS provides an optional feature called "Storage Checkpoints" which allows for advanced file system snapshots.}} {{dunno}} {{no}} {{Yes}} {{no}}
Fossil {{no}} {{no}} {{no}} {{no}} {{yes}} {{yes}} {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{no}}
ZFS {{yes}} {{yes}}name=note-56 |ZFS 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.}}name=note-56}} {{yes}} {{yes}} {{no}} {{yes}} {{no}}name=zfscrypt |Applies only to proprietary ZFS release and ZFS On Linux. Encryption support is not yet available in whole OpenZFS.[46][47]}} {{yes}} {{yes}}
Btrfs {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{dunno}} {{yes}} {{dunno}} {{no}}, planned, not being developed (Nov, 2015)[48] {{yes}} {{yes}}
Minix V1 {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
Minix V2 {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
Minix V3 {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
VMFS2 {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
VMFS3 {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
ReFS {{no}} {{yes}} {{dunno}} {{dunno}}name=note-36}} {{yes}} {{dunno}} {{dunno}} {{dunno}} {{no}} {{yes}} {{yes}}
ISO 9660 {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}name=note-79|Some file system creation implementations reuse block references and support deduplication this way. This is not supported by the standard, but usually works well due to the file system's read-only nature.}} {{no}}
Rock Ridge {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}}name=note-79}} {{no}}
Joliet ("CDFS") {{no}} {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}}name=note-79}} {{no}}
SquashFS {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{yes}} {{yes}}
File system Hard links Symbolic links Block journaling Metadata-only journaling Case-sensitive Case-preserving File Change Log Internal snapshotting / branching XIP Filesystem-level encryption Data deduplication Data checksums

Resize capabilities

File systemHost OSOnline growOffline growOnline shrinkOffline shrink
Btrfs[49] Linux {{yes}} {{yes}} {{yes}} {{yes}}
ext2[50] Linux {{no}} {{yes}} {{no}} {{yes}}
ext3[50] Linux {{yes}} {{yes}} {{no}} {{yes}}
ext4[50] Linux {{yes}} {{yes}} {{no}} {{yes}}
NOVA Linux {{no}} {{no}} {{no}} {{no}}
FAT16 / FAT16B / FAT16X misc. {{no}} {{yes}}[51] {{no}} {{yes}}[51]
FAT32 / FAT32X misc. {{no}} {{yes}}[51] {{no}} {{yes}}[51]
F2FS[52] Linux {{no}} {{yes}} {{no}} {{no}}
HFS+ Linux {{no}} {{no}} {{no}} {{no}}
HFS+ macOS {{yes}} {{no}} {{yes}} {{no}}
JFS[53] Linux {{no}} {{yes}} {{no}} {{no}}
JFS2 AIX {{yes}} {{dunno}} {{yes}} {{dunno}}
Lustre[54] Linux {{yes}} {{dunno}} {{no}} {{no}}
NILFS[55] Linux {{yes}} {{no}} {{yes}} {{no}}
NTFS[56] Linux {{no}} {{yes}} {{no}} {{yes}}
NTFS Windows {{yes}} {{yes}} {{yes}} {{yes}}
APFS macOS {{dunno}} {{dunno}} {{dunno}} {{dunno}}
ZFS misc. {{yes}} {{no}} {{no}} {{no}}
Reiser4[57] Linux {{yes}} {{yes}} {{no}} {{yes}}
ReiserFS[58] Linux {{yes}} {{yes}} {{no}} {{yes}}
XFS[59] Linux {{yes}} {{no}} {{no}} {{no}}
ReFS Windows {{yes}} {{dunno}} {{no}} {{dunno}}
UFS2[60] FreeBSD {{yes}} (FreeBSD 10.0-RELEASE or later) {{yes}} {{no}} {{no}}
HAMMER DragonflyBSD {{dunno}} {{dunno}} {{dunno}} {{dunno}}
SquashFS Linux {{no}} {{no}} {{no}} {{no}}

Allocation and layout policies

File system Tail packing Transparent compression Block suballocation Allocate-on-flush Extentsname=note-41 |Variable 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. Sparse files Copy on write Trim support
DECtape {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
BeeGFS {{no}} {{yes}} {{no}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{dunno}}
Level-D {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{dunno}}
APFS {{dunno}} {{no}} {{dunno}} {{yes}} {{yes}} {{dunno}} {{yes}} {{yes}} {{yes}}[61][62]
Version 6 Unix file system (V6FS) {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{no}}
Version 7 Unix file system (V7FS) {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{no}}
FAT12 {{no}}name=note-51}} {{partial}} (only inside of Stacker 3/4 and DriveSpace 3 compressed volumes[63]) {{no}} {{partial}} (only inside of compressed volumes)[76] {{no}} {{partial}} (only inside of compressed volumes)[77] {{no}} {{yes}} (Linux)
FAT16 / FAT16B / FAT16X {{no}}name=note-51 |SuperStor in DR DOS 6.0, PalmDOS 1.0, PC DOS 6.1 and 6.3, Stacker in Novell DOS 7, OpenDOS 7.01, DR-DOS 7.02 (and higher), and PC DOS 7.0 (and higher), DoubleSpace in MS-DOS 6.0 and 6.20, and DriveSpace in MS-DOS 6.22 and Windows 95, 98 and Me are disk compression schemes for FAT, but are not supported for other operating systems.}} {{partial}} (only inside of Stacker 3/4 and DriveSpace 3 compressed volumes[63]) {{no}} {{partial}} (only inside of compressed volumes)[64] {{no}} {{partial}} (only inside of compressed volumes)[65] {{no}} {{yes}} (Linux)
FAT32 / FAT32X {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{yes}} (Linux)
GFSOnly for "stuffed" inodes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{yes}}
HPFS {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{no}} {{dunno}} {{no}}
NTFS {{no}} {{yes}} {{partial}} {{no}} {{yes}} {{no}} {{yes}} {{dunno}} {{yes}} (NT 6.1 + newer)
HFS Plus {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{no}} {{dunno}} {{yes}} (macOS)
FFS {{no}} {{no}}name=note-45 |Other block:fragment size ratios supported; 8:1 is typical and recommended by most implementations.}} {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{no}}
UFS1 {{no}} {{no}}name=note-45}} {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{no}}
UFS2 {{no}} {{no}}name=note-45}} {{no}} {{no}} {{yes}} {{yes}} {{dunno}} {{yes}}[66][67]
LFS {{no}} {{no}}name=note-45}} {{no}} {{no}} {{no}} {{yes}} {{yes}} {{dunno}}
ext {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{no}}
Xiafs {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{dunno}}
ext2 {{no}}name=note-49 |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.}}name=note-47 |Fragments were planned, but never actually implemented on ext2 and ext3.}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{yes}}
ext3 {{no}} {{no}}name=note-47}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{yes}}
ext4 {{no}} {{no}}name=note-47}} {{yes}} {{yes}} {{no}} {{yes}} {{no}} {{yes}}
NOVA {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{yes}} {{yes}} {{dunno}}
F2FS {{no}} {{no}} {{no}} {{yes}}name=note-75 | Stores one largest extent in disk, and caches multiple extents in DRAM dynamically.}} {{no}} {{yes}} {{yes}} {{yes}}[68]
Lustre {{no}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{yes}} {{dunno}} {{dunno}}
NILFS {{no}} {{no}} {{no}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{dunno}}
ReiserFS {{yes}} {{no}}name=note-73 |Tail packing is technically a special case of block suballocation where the suballocation unit size is always 1 byte.}} {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{dunno}}
Reiser4 {{yes}}name=note-50}}name=note-73}} {{yes}}name=note-39 |In "extents" mode.}} {{no}} {{yes}} {{dunno}} {{dunno}}
OCFS {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{dunno}} {{dunno}} {{dunno}}
OCFS2 {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{yes}} {{dunno}} {{dunno}}
XFS {{no}} {{no}} {{no}} {{yes}} {{yes}} {{no}} {{yes}} {{yes}}, on request[69] {{yes}} (Linux)
JFS {{no}} {{yes2}} only in JFS1 on AIX[70] {{yes}} {{no}} {{yes}} {{no}} {{yes}} {{dunno}} {{yes}} (Linux)
QFS {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}}
BFS {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{dunno}} {{dunno}} {{yes}} (Haiku)
NSS {{no}} {{yes}} {{no}} {{no}} {{yes}} {{no}} {{dunno}} {{dunno}} {{dunno}}
NWFS {{no}} {{yes}}name=note-42 |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.}} {{no}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}}
ODS-5 {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{dunno}} {{dunno}} {{dunno}}
VxFS {{no}} {{no}} {{dunno}} {{no}} {{yes}} {{no}} {{yes}} {{dunno}} {{dunno}}
UDF {{no}} {{no}} {{no}}name=note-46 |Depends on UDF implementation.}} {{yes}} {{no}} {{no}} {{dunno}} {{no}}
Fossil {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}}
ZFS {{no}} {{yes}} {{yes}} {{yes}} {{no}} {{yes}} {{yes}} {{yes}} {{yes}} (FreeBSD, illumos)
Btrfs {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}}
VMFS2 {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{dunno}}
VMFS3 {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{dunno}}
ReFS {{dunno}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{no}} {{yes}} {{yes}} {{dunno}}
ISO 9660 {{no}}name=note-80|Linux supports the zisofs extension that allows per-file compression, and file system creation tools may support creating such images. zisofs images are incompatible on non-Linux OSes.}} {{no}} {{no}}name=note-81|ISO 9660 Level 3 only}} {{no}} {{no}} {{no}} {{no}}
Rock Ridge {{no}}name=note-80}} {{no}} {{no}}name=note-81}} {{no}} {{no}} {{no}} {{no}}
Joliet ("CDFS") {{no}}name=note-80}} {{no}} {{no}}name=note-81}} {{no}} {{no}} {{no}} {{no}}
SquashFS {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{yes}} {{no}} {{no}}
File system Tail packing Transparent compression Block suballocation Allocate-on-flush Extentsname=note-41 Sparse files Copy on write Trim support

OS support

File system DOS Windows 9x Windows NT Linux "classic" Mac OS macOS FreeBSD OS/2 BeOS Minix Solaris z/OS
APFS {{no}} {{no}} {{no}} {{partial}} (read-only with apfs-fuse[71] or linux-apfs[72]) {{no}} {{yes}}
(Since macOS Sierra)
{{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
BeeGFS {{no}} {{no}} {{no}} {{yes}} {{no}} {{dunno}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{no}}
DECtape {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
Level-D {{no}} {{no}} {{no}} {{dunno}} {{no}} {{dunno}} {{no}} {{no}} {{no}} {{no}} {{dunno}} {{dunno}}
RT-11 {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
Version 6 Unix file system (V6FS) {{no}} {{no}} {{no}} {{dunno}} {{no}} {{dunno}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
Version 7 Unix file system (V7FS) {{no}} {{no}} {{no}} {{yes}} {{no}} {{dunno}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
FAT12 {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{partial}} (via dosdir, dosread, doswrite) {{yes}} {{dunno}}
FAT16 / FAT16B / FAT16X {{yes}} (FAT16 from DOS 3.0, FAT16B from DOS 3.31, FAT16X from DOS 7.0) {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{partial}} (via dosdir, dosread, doswrite, not FAT16X) {{yes}} {{dunno}}
FAT32 / FAT32X {{yes}} (from DOS 7.10) {{yes}} (from Windows 95 OSR2) {{yes}} (from Windows 2000) {{yes}} {{yes}}? {{yes}} {{yes}} {{yes}} {{yes}} {{no}} {{yes}} {{dunno}}
GFS {{no}} {{no}} {{no}} {{yes}} {{no}} {{dunno}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
HPFS {{partial}} (with third-party drivers) {{no}} {{partial}} (with NT 3.1 to 4.0 only) {{yes}} {{dunno}} {{dunno}} {{yes}} {{yes}} (from OS/2 1.2) {{dunno}} {{no}} {{dunno}} {{dunno}}
NTFS {{partial}} (with third-party drivers) {{yes}} (with 3rd-party drivers like “Paragon NTFS for Win98”,“DiskInternals NTFS Reader”) {{yes}} {{yes}} with ntfs-3g {{no}} {{yes}} natively read only, write support with Paragon NTFS or ntfs-3g {{yes}} with ntfs-3g {{dunno}} {{yes}} with ntfs-3g {{no}} {{yes}} with ntfs-3g {{dunno}}
Apple HFS {{no}} {{no}} {{yes}} with Paragon HFS+ [73] {{yes}} {{yes}} {{yes}} {{no}} {{dunno}} {{yes}} {{no}} {{dunno}} {{no}}
Apple HFS Plus {{no}} {{no}} {{yes}} with Paragon HFS+ [73] {{partial}} - writing support only to unjournalled FS {{yes}} from Mac OS 8.1 {{yes}} {{no}} {{dunno}}with addon}} {{no}} {{dunno}} {{no}}
FFS {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{yes}} {{yes}} {{dunno}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
UFS1 {{no}} {{no}} {{partial}} (with ufs2tools, read only) {{partial}} - read only {{dunno}} {{yes}} {{yes}} {{no}} {{dunno}} {{dunno}} {{yes}} {{dunno}}
UFS2 {{no}} {{no}} {{partial}} (with ufs2tools, read only) {{yes}} {{dunno}} {{yes}} {{yes}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
LFS {{no}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
ext {{no}} {{no}} {{no}} {{yes}} - until 2.1.20 {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
Xiafs {{no}} {{no}} {{no}} {{yes}} - until 2.1.20

Experimental port available to 2.6.32 and later [74][75]

{{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
ext2 {{no}} {{no}} {{yes}} with Paragon ExtFS [76] or partial with Ext2 IFS[77] or ext2fsd[78] {{yes}} {{no}} {{yes}} with Paragon ExtFS [79] or ext2fsx {{yes}} {{no}} {{yes}} {{dunno}} {{dunno}} {{dunno}}
ext3 {{no}} {{no}} {{yes}} with Paragon ExtFS [80] or partial with Ext2 IFS[77] or ext2fsd[78] {{yes}}date=October 2016}} {{yes}} with Paragon ExtFS [81] or partial with ext2fsx (journal not updated on writing) {{partial}} (read-only)[82][83] {{no}}with addon}} {{dunno}} {{yes}} {{dunno}}
ext4 {{no}} {{no}} {{yes}} with Paragon ExtFS [84] or partial with Ext2 IFS[77] or ext2fsd[78] {{yes}} {{dunno}} {{yes}} with Paragon ExtFS [85] {{partial}} support in kernel since version 10.1 (read-only)[82][83] {{no}}with addon}} {{dunno}} {{dunno}} {{dunno}}
NOVA {{no}} {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
Lustre {{no}} {{no}} {{no}} {{yes}}[86] {{dunno}} {{dunno}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{yes}} {{dunno}}
NILFS {{no}} {{no}} {{dunno}} {{yes}} as an external kernel module {{dunno}} {{dunno}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
F2FS {{no}} {{no}} {{no}} {{yes}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}}
ReiserFS {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{dunno}} {{partial}} Read Only {{dunno}}with addon}} {{dunno}} {{dunno}} {{dunno}}
Reiser4 {{no}} {{no}} {{no}} {{yes}} with a kernel patch {{dunno}} {{dunno}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
SpadFS {{no}} {{no}} {{no}} {{yes}} {{no}} {{no}} {{dunno}} {{no}} {{no}} {{no}} {{no}} {{no}}
OCFS {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{dunno}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
OCFS2 {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{dunno}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
XFS {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{dunno}} {{partial}} {{dunno}}with addon (read only)}} {{dunno}} {{dunno}} {{dunno}}
JFS {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{dunno}} {{no}} {{yes}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
QFS {{no}} {{no}} {{no}} {{partial}} - client only[87] {{dunno}} {{dunno}} {{no}} {{no}} {{dunno}} {{dunno}} {{yes}} {{dunno}}
Be File System {{no}} {{no}} {{no}} {{partial}} - read-only {{dunno}} {{dunno}} {{no}} {{no}} {{yes}} {{dunno}} {{dunno}} {{dunno}}
NSS {{no}} {{no}} {{no}}name=EVMS |Supported using only EVMS; not currently supported using LVM}} {{dunno}} {{dunno}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
NWFS {{partial}} (with Novell drivers) {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{yes}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
ODS-2 {{no}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
ODS-5 {{no}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
UDF {{no}} {{dunno}} {{yes}} {{yes}} {{dunno}} {{yes}} {{yes}} {{dunno}} {{dunno}} {{dunno}} {{yes}} {{dunno}}
VxFS {{no}} {{no}} {{no}} {{yes}} {{dunno}} {{dunno}} {{no}} {{no}} {{dunno}} {{dunno}} {{yes}} {{dunno}}
Fossil {{no}} {{no}} {{no}}name=fossil-p9p |Provided in Plan 9 from User Space}} {{no}}name=fossil-p9p}}name=fossil-p9p}} {{no}} {{no}} {{no}}name=fossil-p9p}} {{dunno}}
ZFS {{no}} {{no}} {{no}} {{yes}} with FUSE[88] or as an external kernel module[89] {{dunno}} {{yes}} with Read/Write Developer Preview[90] {{yes}} {{dunno}} {{dunno}} {{dunno}} {{yes}} {{dunno}}
Btrfs {{no}} {{no}} {{Partial}} with WinBtrfs[91] {{yes}} {{dunno}} {{dunno}} {{dunno}} {{dunno}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
VMFS2 {{no}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
VMFS3 {{no}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{no}} {{no}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
IBM HFS {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{yes}}
IBM zFS {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{no}} {{yes}}
ReFS {{no}} {{no}} {{yes}} (from Windows Server 2012 and from Windows 8.1) {{Partial}} - with Paragon ReFS for Linux {{dunno}} {{dunno}} {{dunno}} {{dunno}} {{dunno}} {{dunno}} {{dunno}} {{dunno}}
ISO 9660 {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}} {{yes}}
Rock Ridge {{no}} {{no}} {{no}} {{yes}} {{no}} {{yes}} {{yes}} {{no}} {{no}} {{yes}} {{yes}} {{dunno}}
Joliet ("CDFS") {{no}} {{yes}} {{yes}} {{yes}} {{dunno}} {{yes}} {{yes}} {{yes}} {{yes}} {{dunno}} {{yes}} {{dunno}}
SquashFS {{no}} {{no}} {{partial}} (There are ports of unsquashfs and mksquashfs.) {{yes}} {{no}} {{partial}} (There are ports of unsquashfs and mksquashfs.) {{partial}} (There are ports of unsquashfs and mksquashfs and fusefs-port.[92][93]) {{no}} {{no}} {{no}} {{no}} {{no}}
File system DOS Windows 9x Windows NT Linux "classic" Mac OS macOS FreeBSD OS/2 BeOS Minix Solaris z/OS

See also

  • Comparison of archive formats
  • Comparison of file archivers
  • List of archive formats
  • List of file archivers
  • List of file systems

Notes

{{notelist|30em}}

References

1. ^{{cite web |url=http://www.computerhistory.org/atchm/in-his-own-words-gary-kildall/ |title=In His Own Words: Gary Kildall |author-first=Len |author-last=Shustek |date=2016-08-02 |work=Remarkable People |publisher=Computer History Museum}}
2. ^{{cite paper|orig-year=1993|date=2016-08-02|title=Computer Connections: People, Places, and Events in the Evolution of the Personal Computer Industry|author-first=Gary Arlen|author-last=Kildall|author-link=Gary Kildall|editor-first1=Scott|editor-last1=Kildall|editor-link=Scott Kildall|editor-first2=Kristin|editor-last2=Kildall|publisher=Kildall Family|type=Manuscript, part 1|url=http://www.computerhistory.org/atchm/computer-history-museum-license-agreement-for-the-kildall-manuscript/|access-date=2016-11-17}}
3. ^{{cite journal |title=Extensions to MS-DOS Run CD-ROM |author-first=Scott |author-last=Mace |journal=InfoWorld |volume=8 |issue=38 |date=1986-09-22 |pages=1, 8 |url=https://books.google.com/books?id=ZS8EAAAAMBAJ&pg=PA1 |access-date=2016-11-09}}
4. ^{{cite web |last1=Warren |first1=David |date=20 October 1993 |title=Polycenter File System - - HELP |url=http://www.ornl.gov/lists/mailing-lists/tru64-unix-managers/1993/10/msg00043.html |archive-url=https://web.archive.org/web/20120309144054/http://www.ornl.gov/lists/mailing-lists/tru64-unix-managers/1993/10/msg00043.html |archive-date=9 March 2012}}
5. ^{{cite press release |title=Sun Microsystems Expands High Performance Computing Portfolio with Definitive Agreement to Acquire Assets of Cluster File Systems, Including the Lustre File System |location=Santa Clara, Calif. |date=12 September 2007 |publisher=Sun Microsystems, Inc. |url=http://www.sun.com/aboutsun/pr/2007-09/sunflash.20070912.2.xml |archiveurl=https://web.archive.org/web/20071002091821/http://www.sun.com/aboutsun/pr/2007-09/sunflash.20070912.2.xml |archivedate=2 October 2007}}
6. ^{{cite web|url=http://bxr.su/d/sys/vfs/hammer2/DESIGN|title=hammer2/DESIGN|author=Matthew Dillon|author-link=Matthew Dillon (computer scientist)|website=BSD Cross Reference|publisher=DragonFly BSD|date=2018-12-09|access-date=2019-03-06}}
7. ^{{cite web |title=SFS file system |website=IBM Knowledge Center |url=http://www-01.ibm.com/support/knowledgecenter/SS6SGM_3.1.0/com.ibm.aix.cbl.doc/PGandLR/ref/rpfio50.htm}}
8. ^{{cite web|title=File System Functionality Comparison|url=https://msdn.microsoft.com/en-us/library/windows/desktop/ee681827(v=vs.85).aspx#limits|website=Microsoft Developer Network|publisher=Microsoft|accessdate=4 November 2017}}
9. ^{{cite web |title= Limitations of the FAT32 File System in Windows XP |publisher=Microsoft |url=http://support.microsoft.com/kb/314463}}
10. ^{{cite web|url=http://cd.textfiles.com/ataricompendium/BOOK/HTML/CHAP2.HTM|title=GEMDOS Overview}}
11. ^https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/APFS_Guide/FAQ/FAQ.html
12. ^https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/APFS_Guide/VolumeFormatComparison/VolumeFormatComparison.html
13. ^http://dubeyko.com/development/FileSystems/NTFS/ntfsdoc.pdf
14. ^{{cite web|url=https://blogs.msdn.microsoft.com/b8/2012/01/16/building-the-next-generation-file-system-for-windows-refs/|title=Building the next generation file system for Windows: ReFS|author=Steven Sinofsky|authorlink=Steven Sinofsky|date=January 16, 2012}}
15. ^{{Cite web|url=https://docs.microsoft.com/en-us/windows-server/storage/refs/refs-overview|title=Resilient File System (ReFS) overview|website=docs.microsoft.com|language=en-us|access-date=2017-11-07}}
16. ^{{cite web|url=https://support.apple.com/en-us/HT201711|title=Mac OS X: Mac OS Extended format (HFS Plus) volume and file limits|website=support.apple.com|date=July 26, 2016}}
17. ^{{cite web|url=https://support.apple.com/kb/TA21924|title=Mac OS 8, 9: Mac OS Extended Format - Volume and File Limits|website=support.apple.com|date=February 20, 2012}}
18. ^{{cite web|url=http://apollo.backplane.com/DFlyMisc/hammer2.txt|title=HAMMER2 Design Document|author=Matthew Dillon}}
19. ^{{cite web|url=http://www.dragonflybsd.org/hammer/hammer.pdf|title=The HAMMER Filesystem|author=Matthew Dillon|date=June 21, 2008}}
20. ^{{cite web |url=https://docs.oracle.com/cd/E19120-01/open.solaris/819-2723/fsfilesysappx-5/index.html |title=Maximum Number of UFS Subdirectories |publisher=Oracle |accessdate=2019-02-12 }}
21. ^{{cite web |url=https://www.freebsd.org/doc/faq/book.html |title=Frequently Asked Questions for FreeBSD 9.X and 10.X |publisher=FreeBSD Documentation Project |accessdate=2016-03-20 |quote=If there was not a fsck(8) memory limit the maximum filesystem size would be 2 ^ 64 (blocks) * 32 KB => 16 Exa * 32 KB => 512 ZettaBytes. }}
22. ^{{cite web|url=https://arvimal.blog/2016/07/21/max-file-name-length-in-an-ext4-file-system/|title=Max file-name length in an EXT4 file system.|author=Vimal A.R|date={{date|2016-07-16}}|website=arvimal.blog}}
23. ^{{cite web |title=Interviews/EricSandeen |date=9 June 2008 |website=Fedora Project Wiki |url=http://fedoraproject.org/wiki/Interviews/EricSandeen}}
24. ^{{cite web |title=FAQ |date=15 October 2003 |website=namesys |url=http://www.namesys.com/faq.html#reiserfsspecs |archive-url=https://web.archive.org/web/20060719110322/http://www.namesys.com/faq.html#reiserfsspecs |archive-date=19 July 2006}}
25. ^{{cite web |url=http://bmrc.berkeley.edu/people/chaffee/jolspec.html |title=Joliet Specification |date=22 May 1995 |archive-url=https://web.archive.org/web/20090414104421/http://bmrc.berkeley.edu/people/chaffee/jolspec.html|archive-date=14 April 2009}}
26. ^{{cite web | url = http://bitsavers.trailing-edge.com/pdf/dec/pdp11/rt11/v5.6_Aug91/AA-PD6PA-TC_RT-11_Volume_and_File_Formats_Manual_Aug91.pdf | title = RT–11 Volume and File Formats Manual | publisher = Digital Equipment Corporation | date = August 1991 | page = 1-26 .. 1-32}}
27. ^{{cite web | url = http://bitsavers.trailing-edge.com/pdf/dec/pdp11/rt11/v5.6_Aug91/AA-PD6PA-TC_RT-11_Volume_and_File_Formats_Manual_Aug91.pdf | title = RT–11 Volume and File Formats Manual | publisher = Digital Equipment Corporation | date = August 1991 | page = 1-4 .. 1-12}}
28. ^{{cite web | url=http://www.utdallas.edu/~venky/os/Proj/disk.pdf | title=Format of the Unix 6 file system | accessdate=2016-02-21 }}
29. ^See dinode structure on page 355 (FILESYS(5)) of {{cite web | url=http://web.cuzuco.com/~cuzuco/v7/v7vol1.pdf | title= Unix Programmers Manual | publisher=Bell Telephone Laboratories | location=Murray Hill, New Jersey | edition=Seventh | date=January 1979 | accessdate=2016-02-21 }}
30. ^{{cite web|url=http://msdn2.microsoft.com/en-us/library/bb648648.aspx|title=Mandatory Integrity Control|website=Microsoft Developer Network}}
31. ^{{cite web|title=Ext4 Metadata Checksums - Ext4|url=https://ext4.wiki.kernel.org/index.php/Ext4_Metadata_Checksums|website=ext4.wiki.kernel.org|language=en}}
32. ^{{cite magazine|url=https://technet.microsoft.com/en-us/magazine/7f4942ce-a782-49a7-bfbb-220337a0cd92|title=Windows Administration: Inside the Windows Vista Kernel: Part 1|author=Mark Russinovich|authorlink=Mark Russinovich|date=February 2007|magazine=TechNet}}
33. ^{{cite web|url=https://msdn.microsoft.com/en-us/library/hh769303(v=vs.85).aspx|title=About Data Deduplication}}
34. ^{{cite web|last1=Siracusa|first1=John|title=Mac OS X 10.7 Lion: the Ars Technica review|url=https://arstechnica.com/gadgets/2011/07/mac-os-x-10-7/12/#hfs-problems|website=Ars Technica|accessdate=14 December 2017|quote=To keep track of hard links, HFS+ creates a separate file for each hard link inside a hidden directory at the root level of the volume.}}
35. ^{{man|8|newfs_hfs|Darwin}}
36. ^{{cite web |publisher=Apple |url=https://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/Comparisons.html |title=File System Comparisons}} (hasn't been updated to discuss HFSX)
37. ^{{cite web |publisher=Apple |url=https://developer.apple.com/technotes/tn/tn1150.html |title=Technical Note TN1150: HFS Plus Volume Format}} (Very technical overview of HFS Plus and HFSX.)
38. ^fslogger
39. ^https://www.mckusick.com/softdep/suj.pdf
40. ^https://wiki.freebsd.org/NewFAQs
41. ^https://www.freebsd.org/releases/9.0R/announce.html
42. ^{{cite web |url=https://lwn.net/Articles/639427/ |title=Ext4 encryption}}
43. ^{{cite web |url=https://lwn.net/Articles/677620/ |title=F2FS encryption}}
44. ^{{cite web |url=http://strugglers.net/~andy/blog/2017/01/10/xfs-reflinks-and-deduplication/|title=XFS, Reflinks and Deduplication}}
45. ^Filesystem Events tracked by NSure
46. ^{{cite web|title=How to Manage ZFS Data Encryption|url=http://www.oracle.com/technetwork/articles/servers-storage-admin/manage-zfs-encryption-1715034.html}}
47. ^https://github.com/zfsonlinux/zfs/pull/5769
48. ^{{cite web|url=https://btrfs.wiki.kernel.org/index.php/FAQ|title=Btrfs FAQ|website=Btrfs Wiki}}
49. ^{{cite web|title=Just Enough Operating System (JeOS): Technical Information {{!}} SUSE|url=https://www.suse.com/products/server/technical-information/|website=www.suse.com|accessdate=28 April 2018|language=en}}
50. ^{{man|8|resize2fs|Linux}}
51. ^With software based on GNU Parted
52. ^https://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/
53. ^{{cite web|url=https://www.kernel.org/doc/Documentation/filesystems/jfs.txt|title=IBM's Journaled File System (JFS) for Linux}}
54. ^{{cite web|url=http://wiki.lustre.org/Frequently_Asked_Questions_(Old_Wiki)|title=Frequently Asked Questions (Old Wiki)|accessdate=5 May 2018}}
55. ^{{cite web|url=http://nilfs.sourceforge.net/en/man8/nilfs-resize.8.html|title=nilfs-resize(8)}}
56. ^{{cite web|url=http://linux.die.net/man/8/ntfsresize|title=ntfsresize(8)}}
57. ^{{cite web|url=https://reiser4.wiki.kernel.org/index.php/Resize_reiserfs|title=Resize reiserfs|website=Reiserfs wiki}}
58. ^{{cite web|url=https://www.suse.com/documentation/sles11/stor_admin/data/biuymaa.html|title=Resizing File Systems}}
59. ^{{cite web|url=https://docs.oracle.com/cd/E37670_01/E37355/html/ol_grow_xfs.html|title=Growing an XFS File System}}
60. ^{{cite web|url=https://www.freebsd.org/doc/handbook/disks-growing.html|title=Resizing and Growing Disks}}
61. ^{{cite web |url=http://www.zdnet.com/article/wwdc-2017-macoss-new-file-system/|title=Mac users, meet APFS: macOS's new file system - ZDNet}}
62. ^{{cite web |url=https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/APFS_Guide/FAQ/FAQ.html|title=Apple File System Guide - FAQ}}
63. ^{{cite web |title=DMSDOS CVF module |type=dmsdoc.doc |version=0.9.2.0 |date=1998-11-19 |url=http://cmp.felk.cvut.cz/~pisa/dmsdos/dmsdos.html |access-date=2016-11-01 |dead-url=no |archive-url=https://web.archive.org/web/20161102123812/http://cmp.felk.cvut.cz/~pisa/dmsdos/dmsdos.html |archive-date=2016-11-02 |quote=Usually all data for one cluster are stored in contiguous sectors, but if the filesystem is too fragmented there may not be a 'free hole' that is large enough for the data. […] Drivespace 3 and Stacker know a hack for that situation: they allow storing the data of one cluster in several fragments on the disk.}}
64. ^{{cite web|url=http://www.techhelpmanual.com/814-mapping_dos_fat_to_mdfat.html|title=Mapping DOS FAT to MDFAT}}
65. ^{{cite web|url=http://www.techhelpmanual.com/808-cvf_region__mdfat.html|title=CVF Region: MDFAT}}
66. ^https://svnweb.freebsd.org/base?view=revision&revision=216796
67. ^https://www.freebsd.org/cgi/man.cgi?query=newfs&sektion=8&manpath=FreeBSD+8.4-RELEASE
68. ^{{cite web |url=https://lists.gt.net/linux/kernel/2012038#2012038 |title=F2FS: Introduce FITRIM in f2fs_ioctl |author=Jaeguk Kim |date=2014-09-22}}
69. ^{{cite web |url=https://www.phoronix.com/scan.php?page=news_item&px=XFS-Linux-4.9-Shared-Extents|title=XFS Adds Shared Data Extents For Linux 4.9}}
70. ^{{cite web |title=AIX documentation: JFS data compression |publisher=IBM |url=http://publib.boulder.ibm.com/infocenter/pseries/v5r3/topic/com.ibm.aix.baseadmn/doc/baseadmndita/jfsdatacomp.htm}}
71. ^https://github.com/sgan81/apfs-fuse
72. ^https://github.com/eafer/linux-apfs
73. ^{{cite web |title=Paragon HFS+ for Windows 10 |url=http://www.paragon-software.com/home/hfs-windows/download.html}}
74. ^{{cite web |title=Porting an Ancient Filesystem to Modern Linux |website=Time To Pull The Plug |url=http://time.to.pullthepl.ug/blog/2013/6/24/porting-an-ancient-filesystem-to-modern-linux/}}
75. ^{{cite web |title=A port of the xiafs filesystem to modern Linux kernels. |website=Github (cdtk) |url=https://github.com/ctdk/modern-xiafs}}
76. ^{{cite web |title=Paragon ExtFS for Windows |url=https://www.paragon-software.com/home/extfs-windows}}
77. ^{{cite web |title=FAQ |website=Ext2 Installable File System For Windows |url=http://www.fs-driver.org/faq.html}} (Provides kernel level read/write access to Ext2 and Ext3 volumes in Windows NT4, 2000, XP and Vista.)
78. ^{{cite web |last1=Branten |first1=Bo |url=http://www.ext2fsd.com/ |title=Ext2Fsd Project: Open source ext3/4 file system driver for Windows (2K/XP/WIN7/WIN8)}}
79. ^{{cite web |title=Paragon ExtFS for Mac |url=https://www.paragon-software.com/ufsdhome/ru/extfs-mac}}
80. ^{{cite web |title=Paragon ExtFS for Windows |url=https://www.paragon-software.com/home/extfs-windows}}
81. ^{{cite web |title=Paragon ExtFS for Mac |url=https://www.paragon-software.com/ufsdhome/ru/extfs-mac}}
82. ^{{cite web |title=FreeBSD Handbook |url=https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/filesystems-linux.html}}
83. ^{{cite web |title=Debian GNU/kFreeBSD |url=https://wiki.debian.org/Debian_GNU/kFreeBSD_FAQ#Q._Can_I_share_partitions_between_GNU.2FLinux_and_GNU.2FkFreeBSD.3F}}
84. ^{{cite web |title=Paragon ExtFS for Windows |url=https://www.paragon-software.com/home/extfs-windows}}
85. ^{{cite web |title=Paragon ExtFS for Mac |url=https://www.paragon-software.com/ufsdhome/ru/extfs-mac}}
86. ^{{cite web |title=Lustre Wiki |url=http://wiki.lustre.org/index.php?title=Main_Page}}
87. ^{{cite web |url=https://docs.oracle.com/cd/E22586_01/html/E22570/gledk.html |title=About Shared File Systems and the Linux Client - Sun QFS and Sun Storage Archive Manager 5.3 Installation Guide |accessdate=2016-03-14}}
88. ^{{cite web |title=ZFS Filesystem for FUSE/Linux |website=Wizy Wiki |date=30 November 2009 |url=http://www.wizy.org/wiki/ZFS_on_FUSE |archive-url=https://web.archive.org/web/20130513101601/http://www.wizy.org/wiki/ZFS_on_FUSE |archive-date=13 May 2013}}
89. ^{{cite web |title=ZFS on Linux |url=http://zfsonlinux.org/ |publisher=Lawrence Livermore National Laboratory}}
90. ^{{cite web |last1=Kim |first1=Arnold |date=4 October 2007 |url=http://www.macrumors.com/2007/10/04/apple-seeds-zfs-read-write-developer-preview-1-1-for-leopard/ |title=Apple Seeds ZFS Read/Write Developer Preview 1.1 for Leopard |website=Mac Rumors}}
91. ^{{cite web |title=WinBtrfs |website=Github (maharmstone) |url=https://github.com/maharmstone/btrfs}}
92. ^{{cite web|url=http://www.freshports.org/sysutils/squashfs-tools/|title=squashfs-tools|website=Freshports}}
93. ^{{cite web|url=http://www.freshports.org/sysutils/fusefs-squashfuse/|title=fusefs-squashfuse|website=Freshports}}
  • Linux kernel file systems via en.howto:Wikihowto

External links

  • [https://web.archive.org/web/20040407211142/http://aurora.zemris.fer.hr/filesystems/ A speed comparison of filesystems on Linux 2.4.5] (archived)
  • [https://www.debian-administration.org/article/388/Filesystems_ext3_reiser_xfs_jfs_comparison_on_Debian_Etch Filesystems (ext3, reiser, xfs, jfs) comparison on Debian Etch] (April 23, 2006)
  • [https://www.ogris.de/blkalloc/ Block allocation strategies of various filesystems]
  • [https://unix.stackexchange.com/questions/165/what-are-the-disadvantages-of-ext4-reiserfs-jfs-and-xfs What are the (dis)advantages of ext4, ReiserFS, JFS, and XFS? - Unix & Linux Stack Exchange]
{{DEFAULTSORT:Comparison Of File Systems}}

2 : Computer file systems|Software comparisons

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/11 16:41:09