The following tables compare general and technical information for a number of computer file systems.
General information
File system Creator Year of introduction Original operating system DECtape DEC 1964 PDP-6 Monitor OS/3x0 FS IBM 1964 OS/360 Level-D DEC 1968 TOPS-10 George 3 ICT (later ICL) 1968 George 3 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 Files-11 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 Atari DOS Atari 1979 Atari 8-bit Version 7 Unix file system (V7FS) Bell Labs 1979 Version 7 Unix Files-11 ODS-2 DEC 1979 OpenVMS FAT12 Seattle Computer Products (Tim Paterson) 1980 QDOS/86-DOS (later IBM PC DOS 1.0) ProDOS Apple 1980 Apple SOS (later ProDOS 8) 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 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 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 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 ISO 9660:1988 Ecma International, ISO 1988 MS-DOS, "classic" Mac OS, and AmigaOS HPFS IBM & Microsoft 1989 OS/2 1.2 ISO 9660: Rock Ridge extension IEEE Unix JFS1 IBM 1990 AIX VxFS VERITAS 1991 SVR4.0 ext Rémy Card 1992 Linux AdvFS DEC 1993 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 ISO 9660: Joliet extension Microsoft 1995 Microsoft Windows, Linux, "classic" Mac OS, and FreeBSD UDF ISO/ECMA/OSTA 1995 FAT32, FAT32X Microsoft 1996 MS-DOS 7.1 / Windows 95 OSR2 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 Files-11 ODS-5 DEC 1998 OpenVMS V7.2 WAFL NetApp 1998 Data ONTAP ext3 Stephen Tweedie 1999 Linux ISO 9660: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 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 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 Chris Mason 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 University of California, San Diego 2017 Linux BlueStore/CephFS Red Hat, UC, Santa Cruz2017Linux HAMMER2 Matthew Dillon 2017 DragonFly BSD 5.0 EROFSHuawei2018Linux, Android VaultFSSwiss Vault2022Linux / Unix
Metadata
File system bcachefs BeeGFS CP/M file system DECtape Elektronika BK tape format Level-D (date only) (FILDAE) RT-11 (date only) Version 6 Unix file system (V6FS) Version 7 Unix file system (V7FS)See dinode structure on page 355 (FILESYS(5)) of exFAT FAT12/FAT16/FAT32 HPFS NTFS ReFS HFS HFS Plus FFS UFS1 UFS2 HAMMER HAMMER2 LFS EROFS ext Xiafs ext2 ext3 ext4 NOVA Lustre F2FS GPFS GFS NILFS ReiserFS Reiser4 OCFS OCFS2 XFS JFS QFS BFS AdvFS NSS NWFS Files-11 ODS-1 Files-11 ODS-2 Files-11 ODS-5 APFS VxFS UDF Fossil ZFS Btrfs Minix V1 Minix V2 Minix V3 VMFS2 VMFS3 ISO 9660:1988 ISO 9660: Rock Ridge extension ISO 9660: Joliet extension ISO 9660:1999 High Sierra SquashFS BlueStore/CephFS File system
All widely used file systems record a last modified time stamp (also known as "mtime"). It is not included in the table.
Individual file systems may record additional special types of date and time stamps. For example, the specification of ISO 9660 includes a "File Expiration Date and Time" and a "File Effective Date and Time".
Features
File capabilities File system Hard links Symbolic links Block journaling Metadata-only journaling Case-sensitive Case-preserving File Change Log XIP DECtape BeeGFS Level-D RT-11 APFS Version 6 Unix file system (V6FS) Version 7 Unix file system (V7FS) exFAT (with TexFAT only) FAT12 (with TFAT12 only) (with VFAT LFNs only) FAT16 / FAT16B / FAT16X (with TFAT16 only) (with VFAT LFNs only) FAT32 / FAT32X ? (with TFAT32 only) (with VFAT LFNs only) GFS HPFS NTFS (2000) HFS Plus FFS UFS1 UFS2 HAMMER HAMMER2 LFS EROFS ext Xiafs ext2 ext3 (2001) (2001) ext4 , optional NOVA F2FS Lustre NILFS ReiserFS Reiser4 OCFS OCFS2 XFS JFS (1990) QFS BFS NSS NWFS Files-11 ODS-1 Files-11 ODS-2 Files-11 ODS-5 UDF VxFS Fossil ZFS Btrfs bcachefs , optional Minix V1 Minix V2 Minix V3 VMFS2 VMFS3 ReFS ISO 9660 ISO 9660: Rock Ridge extension ISO 9660: Joliet extension SquashFS BlueStore/CephFS File system Hard links Symbolic links Block journaling Metadata-only journaling Case-sensitive Case-preserving File Change Log XIP
Block capabilities Note that in addition to the below table, block capabilities can be implemented below the file system layer in Linux (LVM, , cryptsetup) or Windows (Volume Shadow Copy Service, SECURITY), etc. File system Internal snapshotting / branching Encryption Deduplication Data checksum/ ECC Persistent Cache Multiple Devices Compression Self-healing DECtape BeeGFS Level-D RT-11 APFS Version 6 Unix file system (V6FS) Version 7 Unix file system (V7FS) exFAT FAT12 FAT16 / FAT16B / FAT16X FAT32 / FAT32X GFS HPFS NTFS HFS Plus FFS UFS1 UFS2 HAMMER HAMMER2 LFS EROFS ext Xiafs ext2 ext3 ext4 , experimental NOVA F2FS , experimental Lustre NILFS , continuous ReiserFS Reiser4 OCFS OCFS2 XFS JFS only in JFS1 on AIX QFS BFS NSS NWFS Files-11 ODS-2 Files-11 ODS-5 UDF VxFS Fossil ZFS Btrfs bcachefs Minix V1 Minix V2 Minix V3 VMFS2 VMFS3 ReFS ISO 9660 ISO 9660: Rock Ridge extension ISO 9660: Joliet extension SquashFS BlueStore/CephFS File system Internal snapshotting / branching Encryption Deduplication Data checksum/ ECC Persistent Cache Multiple Devices Compression Self-healing
Resize capabilities "Online" and "offline" are synonymous with "mounted" and "not mounted".
File systemHost OSOffline growOnline growOffline shrinkOnline shrinkAdd and remove physical volumes exFATmisc. FAT16 / FAT16B / FAT16Xmisc. FAT32 / FAT32Xmisc. NTFSWindows ReFSWindows HFSmacOS HFS PlusmacOS APFSmacOS HAMMERDragonflyBSD EROFSLinux ext2Linux ext3Linux ext4Linux NOVALinux F2FSLinux LustreLinux XFSLinux JFS2AIX JFSLinux NTFSLinux ReiserFSLinux Reiser4Linux BtrfsLinux bcachefsLinux NILFSLinux ZFSmisc.Top-level vdevs can only be removed if the primary pool storage does not contain a top-level raidz vdev, all top-level vdevs have the same sector size, and the keys for all encrypted datasets are loaded. UFS2FreeBSD (FreeBSD 10.0-RELEASE or later) SquashFSLinux BlueStore/CephFSLinux
Allocation and layout policies
File system Sparse files Block suballocation Tail packing Extents Variable block size Inline data (resident files) Allocate-on-flush Copy on write Trim support DECtape BeeGFS Level-D APFS Version 6 Unix file system (V6FS) Version 7 Unix file system (V7FS) exFAT (only if the file fits into one contiguous block range) (Linux) FAT12 (only inside of compressed volumes) (only inside of Stacker 3/4 and DriveSpace 3 compressed volumes) (only inside of compressed volumes) (Linux) FAT16 / FAT16B / FAT16X (only inside of compressed volumes) (only inside of Stacker 3/4 and DriveSpace 3 compressed volumes) (only inside of compressed volumes) (Linux) FAT32 / FAT32X (Linux) GFS HPFS (Linux) NTFS (approximately 700 bytes) (NT 6.1+; Linux) HFS Plus (macOS) FFS 8:1 UFS1 8:1 UFS2 8:1 so far HAMMER HAMMER2 LFS 8:1 EROFS ext Xiafs ext2 ext3 ext4 (inode size - 96B) NOVA F2FS (approximately 3.4KB) Lustre NILFS (Linux NILFS2) ReiserFS Reiser4 OCFS OCFS2 (Linux) XFS (not accepted) , on request (Linux) JFS (256 bytes) (Linux) QFS BFS (Haiku) NSS NWFS Files-11 ODS-5 VxFS UDF , for write once read many media Fossil ZFS (112 bytes) Btrfs (2 KiB) bcachefs (half block size) VMFS2 VMFS3 ReFS (NT 6.1+) ISO 9660 ISO 9660: Rock Ridge extension ISO 9660: Joliet extension SquashFS BlueStore/CephFS File system Sparse files Block suballocation Tail packing Extents Variable block size Inline data (resident files) Allocate-on-flush Copy on write Trim support
OS support
File system DOS Linux macOS Windows 9x (historic) Windows (current) ClassicMac OS FreeBSD OS/2 BeOS Minix Solaris z/OS Android DECtape BeeGFS Level-D RT-11 APFS (read-only with apfs-fuse or linux-apfs) (Since macOS Sierra) Version 6 Unix file system (V6FS) Version 7 Unix file system (V7FS) exFAT (since 5.4, available as a kernel module or FUSE driver for earlier versions) (available as a FUSE driver) (available as a FUSE driver) FAT12 (via dosdir, dosread, doswrite) FAT16 / FAT16B / FAT16X (FAT16 from DOS 3.0, FAT16B from DOS 3.31, FAT16X from DOS 7.0) (via dosdir, dosread, doswrite, not FAT16X) FAT32 / FAT32X GFS HPFS (with third-party drivers) (from OS/2 1.2) NTFS 3rd-party drivers Native since Linux Kernel 5.15 NTFS3. Older kernels may use backported NTFS3 driver or ntfs-3g 3rd-party drivers like Paragon NTFS for Win98, DiskInternals NTFS Reader with ntfs-3g with ntfs-3g with ntfs-3g HFS write support since Mac OS X 10.6 and no support at all since macOS 10.15 Paragon HFS+ HFS Plus writing support only to unjournalled FS Paragon HFS+ from Mac OS 8.1 FFS UFS1 read only (with ufs2tools, read only) UFS2 (with ufs2tools, read only) LFS EROFS since erofs-utils 1.4 ext until 2.1.20 Xiafs until 2.1.20