Comparison of file systems

Comparison of file systems

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

Contents

General information

File system Creator Year
introduced
Original operating system
DECtape DEC 1964 PDP-6 Monitor
Level-D DEC 1968 TOPS-10
George 2 ICT (later ICL) 1968 George 2
V6FS Bell Labs 1972 Version 6 Unix
ODS-1 DEC 1972 RSX-11
RT-11 file system DEC 1973 RT-11
DOS (GEC) GEC 1973 Core Operating System
CP/M file system Gary Kildall 1974 CP/M
OS4000 GEC 1977 OS4000
FAT12 Microsoft 1977 Microsoft Disk BASIC
DOS 3.x Apple Computer 1978 Apple DOS
Pascal Apple Computer 1978 Apple Pascal
CBM DOS Commodore 1978 Microsoft BASIC (for CBM PET)
V7FS Bell Labs 1979 Version 7 Unix
ODS-2 DEC 1979 OpenVMS
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 Computer 1983 ProDOS 8
MFS Apple Computer 1984 Mac OS
Elektronika BK tape format NPO "Scientific centre" (now Sitronics) 1985 Vilnius Basic, BK monitor program
HFS Apple Computer 1985 Mac OS
Amiga OFS[12] Metacomco for Commodore 1985 Amiga OS
High Sierra Ecma International 1985 MS-DOS, Mac OS
NWFS Novell 1985 NetWare 286
FAT16 Microsoft 1987 MS-DOS 3.31
Minix V1 FS Andrew S. Tanenbaum 1987 Minix 1.0
Amiga FFS Commodore 1988 Amiga OS 1.3
HPFS IBM & Microsoft 1988 OS/2
ISO 9660:1988 Ecma International, Microsoft 1988 MS-DOS, Mac OS, and AmigaOS
JFS1 IBM 1990 AIX[1]
VxFS VERITAS 1991 SVR4.0
ext Rémy Card 1992 Linux
WAFL NetApp 1992 Data ONTAP
Minix V2 FS Andrew S. Tanenbaum 1992 MINIX 1.6 and 2.0
AdvFS DEC 1993[2] Digital Unix
NTFS Version 1.0 Microsoft, Tom Miller, Gary Kimura 1993 Windows NT 3.1
LFS Margo Seltzer 1993 Berkeley Sprite
ext2 Rémy Card 1993 Linux, Hurd
UFS1 Kirk McKusick 1994 4.4BSD
XFS SGI 1994 IRIX, Linux, FreeBSD
HFS IBM 1994 MVS/ESA (now z/OS)
Joliet ("CDFS") Microsoft 1995 Microsoft Windows, Linux, Mac OS, and FreeBSD
UDF ISO/ECMA/OSTA 1995 -
FAT32 Microsoft 1996 Windows 95b[3]
QFS LSC Inc, Sun Microsystems 1996 Solaris
GPFS IBM 1996 AIX, Linux, Windows
Be File System Be Inc., D. Giampaolo, C. Meurillon 1996 BeOS
HFS Plus Apple Computer 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
ext3 Stephen Tweedie 1999 Linux
ISO 9660:1999 Ecma International, Microsoft 1999 Microsoft Windows, Linux, Mac OS X, FreeBSD, and AmigaOS
JFS IBM 1999 OS/2 Warp Server for e-business
GFS Sistina (Red Hat) 2000 Linux
Melio FS Sanbolic 2001 Windows
NTFS Version 5.1 Microsoft 2001 Windows XP
ReiserFS Namesys 2001 Linux
zFS IBM 2001 z/OS (backported to OS/390)
FATX Microsoft 2002 Xbox
UFS2 Kirk McKusick 2002 FreeBSD 5.0
Lustre Cluster File Systems (later Oracle Corporation) 2002 Linux
OCFS Oracle Corporation 2002 Linux
VMFS2 VMware 2002 VMware ESX Server 2.0
Fossil Bell Labs 2003 Plan 9 from Bell Labs 4
Google File System Google 2003 Linux
Reliance[4] Datalight 2003 Windows CE, VxWorks, custom ports
ZFS Sun Microsystems 2004 Solaris, FreeBSD
Reiser4 Namesys 2004 Linux
Non-Volatile File System Palm, Inc. 2004 Palm OS Garnet
Minix V3 FS Andrew S. Tanenbaum 2005 MINIX 3
OCFS2 Oracle Corporation 2005 Linux
NILFS NTT 2005 Linux, NetBSD
VMFS3 VMware 2005 VMware ESX Server 3.0
GFS2 Red Hat 2006 Linux
ext4 various 2006 Linux
exFAT Microsoft 2006, 2009 Windows CE 6.0, Windows XP SP3, Windows Vista SP1
TexFAT/TFAT Microsoft 2006 Windows CE 6.0
NTFS Version 6.0 Microsoft 2006 Windows Vista
Btrfs Oracle Corporation 2007 Linux
HAMMER Matthew Dillon 2008 Dragonfly BSD
Oracle ACFS Oracle Corporation 2009 Linux - Red Hat Enterprise Linux 5 and Oracle Enterprise Linux 5 only
Reliance Nitro[4] Datalight 2009 Windows CE, Windows Mobile, VxWorks, Linux, custom ports
LTFS IBM 2010 Linux, Mac OS X, planned Microsoft Windows,
IlesfayFS Ilesfay Technology Group 2011 Microsoft Windows, planned Red Hat Enterprise Linux
VMFS5 VMware 2011 VMware ESXi 5.0

Limits

File system Maximum filename length Allowable characters in directory entries[5] Maximum pathname length Maximum file size Maximum volume size[6]
Acorn ADFS &1000000000000001300000010 + 3 bytes &10000000000000115000000Any ISO 8859-1 character except: $ & % @ \ ^ : . # * " ¦ No limit defined &10000004294967296000000512 MiB &10000004294967296000000512 MiB
Apple DOS 3.x &1000000000000003000000030 bytes &10000000000000255000000Any byte except NUL &1000000000000024000000030 B, no subdirectories (105 files per disk) Unknown &10000000000931840000000113.75 kiB DOS 3.1, 3.2
&10000000001146880000000140 kiB DOS 3.3 (assuming standard 35 tracks)
Apple ProDOS &1000000000000001500000015 bytes &10000000000000063000000A-Z, a-z, 0-9, and period Unknown &1000000013421772800000016 MiB &1000000026843545600000032 MiB
CP/M file system &100000000000000110000008.3 Unknown 16 "user areas", no subdirectories &100000000671088640000008 MiB[7] &100000000671088640000008 MiB to 512 MiB[7]
IBM SFS &100000000000000160000008.8 Unknown Non-hierarchical[8] Unknown Unknown
DECtape &100000000000000090000006.3 &10000000000000036000000A–Z, 0–9 DTxN:FILNAM.EXT = 15 &10000000002954240000000369,280 B (577 * 640) &10000000002959360000000369,920 B (578 * 640)
Elektronika BK tape format &1000000000000001600000016 bytes Unknown Non-hierarchical &1000000000052428800000064 kiB Not limited. Approx. 800KB (one side) for 90 min cassette
MicroDOS file system &1000000000000001400000014 bytes Unknown Unknown &1000000013421772800000016 MiB &1000000026843545600000032 MiB
Level-D &100000000000000090000006.3 &10000000000000036000000A–Z, 0–9 DEVICE:FILNAM.EXT[PROJCT,PROGRM] = 7 + 10 + 15 = 32; + 5*7 for SFDs = 67 &1000020615843020800000024 GiB (34,359,738,368 words (235-1); 206,158,430,208 SIXBIT bytes) &1000010307921510400000012 GiB (approx; 64 * 178 MiB)
RT-11 &100000000000000090000006.3 &10000000000000037000000A–Z, 0–9, $ Non-hierarchical &1000000026843545600000032 MiB (65536 * 512) &1000000026843545600000032 MiB
V6FS &1000000000000001400000014 bytes[9] &10000000000000254000000Any byte except NUL and /[10] No limit defined[11] &1000000013421772800000016 MiB[12] &100175921860444160000002 TiB
DOS (GEC) &100000000000000080000008 bytes &10000000000000036000000A–Z, 0–9 Non-hierarchical &1000000053687091200000064 MiB &1000000053687091200000064 MiB
OS4000 &100000000000000080000008 bytes &10000000000000036000000A–Z, 0–9
Period is directory separator
No limit defined[11] &100000171798691840000002 GiB &100000085899345920000001 GiB (at least)
CBM DOS &1000000000000001600000016 bytes &10000000000000255000000Any byte except NUL Non-hierarchical &1000000013421772800000016 MiB &1000000013421772800000016 MiB
V7FS &1000000000000001400000014 bytes[9] &10000000000000254000000Any byte except NUL and /[10] No limit defined[11] &100000085899345920000001 GiB[13] &100175921860444160000002 TiB
exFAT &10000000000000510000000255 characters [14] &10000000001114111000000Any Unicode except NUL No limit defined ~127 PiB ~64 ZiB, 512 TiB recommended[15]
TexFAT &10000000000000494000000247 characters &10000000001114111000000Any Unicode except NUL No limit defined &100000171798691840000002 GiB &10004294967296000000000500 GiB Tested[16]
FAT12 &100000000000000110000008.3 (255 UTF-16 code units with LFN)[9] &10000000001114111000000Any Unicode except NUL (with LFN)[9][10] No limit defined[11] &1000000026843545600000032 MiB &1000000026843545600000032 MiB
FAT16 &100000000000000110000008.3 (255 UTF-16 code units with LFN)[9] &10000000001114111000000Any Unicode except NUL (with LFN)[9][10] No limit defined[11] &100000171798691840000002 GiB &100000171798691840000002 GiB or 4 GiB
FAT32 &100000000000000110000008.3 (255 UTF-16 code units with LFN)[9] &10000000001114111000000Any Unicode except NUL (with LFN)[9][10] No limit defined[11] &100000343597383680000004 GiB &100703687441776640000008 TiB[17]
FATX &1000000000000004200000042 bytes[9] &10000000000000108000000ASCII. Unicode not permitted. No limit defined[11] &100000171798691840000002 GiB &100000171798691840000002 GiB
Fossil Unknown Unknown Unknown Unknown Unknown
MFS &10000000000000255000000255 bytes &10000000000000255000000Any byte except : No path (flat filesystem) &10000001895825408000000226 MiB &10000001895825408000000226 MiB
HFS &1000000000000003100000031 bytes &10000000000000255000000Any byte except :[18] Unlimited &100000171798691840000002 GiB &100175921860444160000002 TiB
HPFS &10000000000000255000000255 bytes &10000000000000255000000Any byte except NUL[19] No limit defined[11] &100000171798691840000002 GiB &100175921860444160000002 TiB[20]
NTFS &10000000000000510000000255 characters &10000000001114102000000Any Unicode except NUL and \ / : * ? " < > | 32,767 Unicode characters with each path component (directory or filename) commonly up to 255 characters long[11] ~16 EiB[21] ~16 EiB[21]
HFS Plus &10000000000000510000000255 UTF-16 code units[22] &10000000001114112000000Any valid Unicode[10][23] Unlimited ~8 EiB ~8 EiB[24][25]
FFS &10000000000000255000000255 bytes &10000000000000255000000Any byte except NUL[10] No limit defined[11] ~8 ZiB ~8 ZiB
UFS1 &10000000000000255000000255 bytes &10000000000000255000000Any byte except NUL[10] No limit defined[11] &11987917023019000000000226 TiB &11987917023019000000000226 TiB
UFS2 &10000000000000255000000255 bytes &10000000000000255000000Any byte except NUL[10] No limit defined[11] ~32 PiB ~1 YiB
ext2 &10000000000000255000000255 bytes &10000000000000254000000Any byte except NUL[10] and / No limit defined[11] &100175921860444160000002 TiB[6] &1028147497671066000000032 TiB
ext3 &10000000000000255000000255 bytes &10000000000000254000000Any byte except NUL[10] and / No limit defined[11] &100175921860444160000002 TiB[6] &1028147497671066000000032 TiB
ext4 &10000000000000256000000256 bytes &10000000000000254000000Any byte except NUL[10] and / No limit defined[11] &1014073748835533000000016 TiB[6][26] ~1 EiB (but user tools limited to 16 TB)
Lustre &10000000000000255000000255 bytes &10000000000000255000000Any byte except NUL[10] No limit defined[11] &12814749767106600000000320 TiB (on ext4) ~1 YiB (on ext4, 10 PB tested)
GPFS &10000000000000255000000255 UTF-8 codepoints &10000000000000255000000Any byte except NUL[10] No limit defined[11] ~512 YiB ~512 YiB (4 PiB tested)
GFS &10000000000000255000000255 &10000000000000255000000Any byte except NUL[10] No limit defined[11] ~8 EiB[27] ~8 EiB[27]
ReiserFS &100000000000040320000004,032 bytes/226 characters &10000000000000255000000Any byte except NUL[10] No limit defined[11] &100703687441776640000008 TiB[28] (v3.6), 2 GB (v3.5) &1014073748835533000000016 TiB
NILFS &10000000000000255000000255 bytes &10000000000000255000000Any byte except NUL[10] No limit defined[11] ~8 EiB ~8 EiB
Reiser4 &100000000000039760000003,976 bytes &10000000000000254000000Any byte except / and NUL No limit defined[11] &100703687441776640000008 TiB on x86 Unknown
OCFS &10000000000000255000000255 bytes &10000000000000255000000Any byte except NUL[10] No limit defined[11] &100703687441776640000008 TiB &100703687441776640000008 TiB
OCFS2 &10000000000000255000000255 bytes &10000000000000255000000Any byte except NUL[10] No limit defined[11] ~4 PiB ~4 PiB
Reliance &10000000000000260000000260 bytes OS specific &10000000000002080000000260 B &100000343597383680000004 GiB 2 TB
Reliance Nitro &100000000000010240000001,024 bytes OS specific 1024 bytes &1028147497671066000000032 TiB &1028147497671066000000032 TiB
XFS &10000000000000255000000255 bytes[29] &10000000000000255000000Any byte except NUL[10] No limit defined[11] ~8 EiB[30] ~8 EiB[30]
JFS1 &10000000000000255000000255 bytes &10000000000000255000000Any byte except NUL[10] No limit defined[11] ~8 EiB ~4 PiB
JFS &10000000000000255000000255 bytes &10000000001114111000000Any Unicode except NUL No limit defined[11] ~4 PiB ~32 PiB
QFS &10000000000000255000000255 bytes &10000000000000254000000Any byte except NUL[10] No limit defined[11] ~16 EiB[31] ~4 PiB[31]
BFS &10000000000000255000000255 bytes &10000000000000255000000Any byte except NUL[10] No limit defined[11] &10002233382993920000000260 GiB[32] ~2 EiB
AdvFS &10000000000000226000000226 characters &10000000000000255000000Any byte except NUL[10] No limit defined[11] &1014073748835533000000016 TiB &1014073748835533000000016 TiB
NSS &10000000000000226000000226 characters Depends on namespace used[33] Only limited by client &100703687441776640000008 TiB &100703687441776640000008 TiB
NWFS &1000000000000008000000080 bytes[34] Depends on namespace used[33] No limit defined[11] &100000343597383680000004 GiB &100087960930222080000001 TiB
ODS-5 &10000000000000236000000236 bytes[35] Unknown 4,096 bytes[36] &100087960930222080000001 TiB &100087960930222080000001 TiB
VxFS &10000000000000255000000255 bytes &10000000000000255000000Any byte except NUL[10] No limit defined[11] &12251799813685200250000256 TiB &12251799813685200250000256 TiB
UDF &10000000000000255000000255 bytes &10000000001114111000000Any Unicode except NUL 1,023 bytes[37] ~16 EiB Unknown
ZFS &10000000000000255000000255 bytes &10000000001114111000000Any Unicode except NUL No limit defined[11] ~16 EiB ~16 EiB
Minix V1 FS &1000000000000003000000014 or 30 bytes, set at filesystem creation time &10000000000000255000000Any byte except NUL[10] No limit defined[11] &1000000053687091200000064 MiB[38] &1000000053687091200000064 MiB[38]
Minix V2 FS &1000000000000003000000014 or 30 bytes, set at filesystem creation time &10000000000000255000000Any byte except NUL[10] No limit defined[11] &100000343597383680000004 GiB[38] &100000085899345920000001 GiB, then 2 TB[38]
Minix V3 FS &1000000000000006000000060 bytes &10000000000000255000000Any byte except NUL[10] No limit defined[11] &100000343597383680000004 GiB &1014073748835533000000016 TiB[38]
VMFS2 &10000000000000128000000128 &10000000000000254000000Any byte except NUL and /[10] 2,048 &100351843720888320000004 TiB[39] &1056294995342130993750064 TiB
VMFS3 &10000000000000128000000128 &10000000000000254000000Any byte except NUL and /[10] 2,048 &100175921860444160000002 TiB[39] &1056294995342130993750064 TiB
ISO 9660:1988 &10000000000000011000000Level 1: 8.3,
Level 2 & 3: ~ 180
Depends on Level[40] ~ 180 bytes? &100000343597383680000004 GiB (Level 1 & 2) to 8 TiB (Level 3)[41] &100703687441776640000008 TiB[42]
Joliet ("CDFS") &1000000000000012800000064 Unicode characters &10000000001112058000000All UCS-2 code except *, /, \, :, ;, and ?[43] Unknown &100000343597383680000004 GiB (same as ISO 9660:1988) &100703687441776640000008 TiB (same as ISO 9660:1988)
ISO 9660:1999 Unknown (207?) Unknown Unknown Unknown Unknown
High Sierra Unknown Unknown Unknown Unknown Unknown
HAMMER Unknown Unknown Unknown Unknown ~1 EiB
Btrfs &10000000000000255000000255 bytes &10000000000000255000000Any byte except NUL Unknown ~16 EiB ~16 EiB
LTFS Unknown Unknown Unknown Unknown Unknown
LEAN &100000000000040680000004,068 bytes[44] &10000000001114112000000case sensitive, in UTF-8 (any Unicode codepoint) No limit defined ~8 EiB ~8 EiB
File system Maximum filename length Allowable characters in directory entries[5] Maximum pathname length Maximum file size Maximum volume size[6]

Metadata

File system Stores file owner POSIX file permissions Creation timestamps Last access/ read timestamps Last content modification timestamps Disk copy created Last metadata change timestamps Last archive timestamps Access control lists Security/ MAC labels Extended attributes/ Alternate data streams/ forks Checksum/ ECC
CP/M file system No No Yes[45] No Unknown Unknown No No No No No No
DECtape No No Yes No Unknown Unknown No No No No No No
Elektronika BK tape format No No No No Unknown Unknown No No No No No Yes
Level-D Yes Yes Yes Yes Unknown Unknown Yes Yes Yes No No No
RT-11 No No Yes No No No No No No No No No
DOS (GEC) Yes No Yes Yes Yes Unknown No No No No No No
OS4000 Yes No Yes Yes Yes Unknown No No No No No No
V6FS Yes Yes No Yes Yes Unknown Yes No No No No No
V7FS Yes Yes No Yes Yes Unknown Yes No No No No No
FAT12 No No Yes Yes Unknown Unknown No[46] No No No No[47] No
FAT16 No No Yes Yes Yes No No[46] No No No No[47] No
FAT32 No No Yes Yes Yes No No[46] No No No No No
exFAT No No Yes Yes Yes Unknown Unknown No No Unknown Unknown Partial
HPFS Yes[48] No Yes Yes Yes Unknown No No No Unknown Yes No
NTFS Yes Yes[49] Yes Yes Yes No Yes No Yes Yes[50] Yes No
HFS No No Yes No Yes No No Yes No No Yes No
HFS Plus Yes Yes Yes Yes Yes No Yes Yes Yes Yes[51] Yes No
FFS Yes Yes No Yes Yes Unknown Yes No No No No No
UFS1 Yes Yes No Yes Yes Unknown Yes No Yes[52] Yes[52] No[53] No
UFS2 Yes Yes Yes Yes Yes Unknown Yes No Yes[52] Yes[52] Yes No
LFS Yes Yes No Yes Yes Unknown Yes No No No No No
ext2 Yes Yes No Yes Yes Unknown Yes No Yes[54] Yes[54] Yes No
ext3 Yes Yes No Yes Yes No Yes No Yes[54] Yes[54] Yes No
ext4 Yes Yes Yes Yes Yes Unknown Yes No Yes[54] Yes[54] Yes Partial[55]
Lustre Yes Yes Partial[56] Yes Yes No Yes No Yes Yes Yes Partial[57][58]
GPFS Yes Yes Yes Yes Yes Unknown Yes No Yes Yes Yes Yes
GFS Yes Yes No Yes Unknown Unknown Yes No Yes[54] Yes[54] Yes No
NILFS Yes Yes Yes No Unknown Unknown Yes No No No No Yes
ReiserFS Yes Yes No Yes Yes No No No No No No No
Reiser4 Yes Yes No Yes Yes Unknown Yes No No No No No
OCFS No Yes No No Unknown Unknown Yes Yes No No No No
OCFS2 Yes Yes No Yes Unknown Unknown Yes No Yes No Yes Partial[59]
Reliance No No Yes No Yes No No No No No No Partial[60]
Reliance Nitro Linux port Linux port Yes Yes Yes No No No Linux port No Yes Partial[60]
XFS Yes Yes No Yes Yes Unknown Yes No Yes Yes[54] Yes No
JFS Yes Yes Yes Yes Yes Unknown Yes No Yes Yes Yes No
QFS Yes Yes Yes Yes Unknown Unknown Yes Yes Yes No Yes No
BFS Yes Yes Yes No Unknown Unknown No No No No Yes No
AdvFS Yes Yes No Yes Yes Unknown Yes No Yes No Yes No
NSS Yes Yes Yes[61] Yes[61] Unknown Unknown Yes Yes[61] Yes Unknown Yes[62][63] No
NWFS Yes Unknown Yes[61] Yes[61] Unknown Unknown Yes Yes[61] Yes Unknown Yes[62][63] No
ODS-5 Yes Yes Yes Unknown Unknown Unknown Unknown Yes Yes Unknown Yes[64] No
VxFS Yes Yes Yes Yes Yes Unknown Yes No Yes Unknown Yes[54] No
UDF Yes Yes Yes Yes Unknown Unknown Yes Yes Yes No Yes No
Fossil Yes Yes[65] No Yes Unknown Unknown Yes No No No No No
ZFS Yes Yes Yes Yes Yes Unknown Yes Yes Yes Yes[66] Yes[67] Yes
VMFS2 Yes Yes No Yes Unknown Unknown Yes No No No No No
VMFS3 Yes Yes No Yes Unknown Unknown Yes No No No No No
ISO 9660:1988 No No Yes[68] No[69] Yes[70] Unknown No No No No No No
Joliet ("CDFS") No No Yes[68] No[69] Yes[70] Unknown No No No No No No
ISO 9660:1999 No No Yes No Unknown Unknown No No No No No No
High Sierra No No Yes No Unknown Unknown No No No No No No
Btrfs Yes Yes Yes Yes Yes Unknown Yes Unknown Yes Unknown Yes Yes
File system Stores file owner POSIX file permissions Creation timestamps Last access/read timestamps Last content modification timestamps Disk copy created Last metadata change timestamps Last archive timestamps Access control lists Security/ MAC labels Extended attributes/ Alternate data streams/ forks Checksum/ ECC

Features

File system Hard links Symbolic links Block journaling Metadata-only journaling Case-sensitive Case-preserving File Change Log Snapshot XIP Encryption COW integrated LVM Data deduplication Volumes are resizeable
CP/M file system No No No No No No No No No No No No No Unknown
DECtape No No No No No No No No No No No No No Unknown
Level-D No No No No No No No No No No Unknown Unknown Unknown Unknown
RT-11 No No No No No No No No No No No No No Unknown
DOS (GEC) No No No No No No No No No No No No No Unknown
OS4000 No Yes[71] No No No No No No No No No No No Unknown
V6FS Yes No No No Yes Yes No No No No No No No Unknown
V7FS Yes No[72] No No Yes Yes No No No No No No No Unknown
FAT12 No No No No No Partial No No No No No No No Offline[73]
FAT16 No No No No No Partial No No No No No No No Offline[73]
FAT32 No No No No No Partial No No No No No No No Offline[73]
exFAT No No Unknown No No Yes No Unknown Unknown No Unknown Unknown Unknown Unknown
GFS Yes Yes[74] Yes Yes[75] Yes Yes No No No No Unknown Unknown Unknown Unknown
GPFS Yes Yes Unknown Unknown Yes Yes Yes Yes Yes No Yes Yes No Online
HPFS No No No No No Yes No Unknown No No Unknown Unknown No Unknown
NTFS Yes Yes[76] No[77] Yes[77] Yes[78] Yes Yes Partial[79] Yes Yes Partial Unknown No Online[80]
HFS No Yes[81] No No No Yes No No No No No No No Unknown
HFS Plus Yes[82] Yes No Yes[83] Partial[84] Yes Yes[85] No No No[86] No No No Offline
FFS Yes Yes No No[87] Yes Yes No No No No No No No Offline (cannot be shrunk)[88]
UFS1 Yes Yes No No Yes Yes No No No No No No No Unknown
UFS2 Yes Yes No No[89][90] Yes Yes No Yes Unknown No No No No Offline (cannot be shrunk)[91]
LFS Yes Yes Yes[92] No Yes Yes No Yes No No Unknown Unknown Unknown Unknown
ext2 Yes Yes No No Yes Yes No No Yes[93] No No No No Online[94]
ext3 Yes Yes Yes[95] Yes Yes Yes No No Yes No No No No Online[94]
ext4 Yes Yes Yes[95] Yes Yes Yes No No Yes No No No No Online[94]
Lustre Yes Yes Yes[95] Yes Yes Yes Yes in 2.0 No[58] No No[58] No[58] No[58] No[58] Online[96]
NILFS Yes Yes Yes[92] No Yes Yes Yes Yes No No Yes Unknown Unknown Unknown
ReiserFS Yes Yes No[97] Yes Yes Yes No No No No No No No Offline
Reiser4 Yes Yes Yes No Yes Yes No Unknown No Yes[98] Yes No Unknown Online (can only be shrunk offline)
OCFS No Yes No No Yes Yes No No No No Unknown Unknown Unknown Unknown
OCFS2 Yes Yes Yes Yes Yes Yes No Partial[99] No No Unknown No No Online for version 1.4 and higher
Reliance No No No[100] No No Yes No No No No Yes No No Unknown
Reliance Nitro Yes Yes No[100] No Depends on OS Yes No No No No Yes No No Unknown
XFS Yes Yes Yes Yes Yes[101] Yes No No No No No No No Online (cannot be shrunk)
JFS Yes Yes No Yes Yes[102] Yes No Yes No No Yes Unknown Unknown Online (cannot be shrunk)[103]
QFS Yes Yes No Yes Yes Yes No No No No Unknown Unknown Unknown Unknown
Be File System Yes Yes No Yes Yes Yes Unknown No No No No No No Unknown
NSS Yes Yes Unknown Yes Yes[104] Yes[104] Yes[105] Yes No Yes Unknown Unknown Unknown Unknown
NWFS Yes[106] Yes[106] No No Yes[104] Yes[104] Yes[105] Unknown No No No Yes[107] Unknown Unknown
ODS-2 Yes Yes[108] No Yes No No Yes Yes No No Unknown Unknown Unknown Unknown
ODS-5 Yes Yes[108] No Yes No Yes Yes Yes Unknown No Unknown Unknown Unknown Unknown
UDF Yes Yes Yes[92] Yes[92] Yes Yes No No Yes No No No No Unknown
VxFS Yes Yes Yes No Yes Yes Yes Yes[109] Unknown No Unknown Unknown Unknown Unknown
Fossil No No No No Yes Yes Yes Yes No No Unknown No Yes[110] Unknown
ZFS Yes Yes Yes[111] No[111] Yes Yes No Yes No Yes Yes Yes Yes Online (cannot be shrunk)[112]
VMFS2 Yes Yes No Yes Yes Yes No No No No Unknown Unknown Unknown Unknown
VMFS3 Yes Yes No Yes Yes Yes No No No No Unknown Unknown Unknown Unknown
Btrfs Yes Yes Unknown Yes Yes Yes Unknown Yes No Planned[113] Yes Yes Work-in-Progress Online
File system Hard links Symbolic links Block journaling Metadata-only journaling Case-sensitive Case-preserving File Change Log Snapshotting XIP Encryption COW integrated LVM Data deduplication Volumes are resizeable

Allocation and layout policies

File system Block suballocation Variable file block size[114] Extents Allocate-on-flush Sparse files Transparent compression
Btrfs Yes No Yes Yes Yes Yes
DECtape No No No No No No
Level-D Yes No Yes No No No
DOS (GEC) No Yes Yes No No No
OS4000 No Yes Yes No No No
V6FS No No No No Yes No
V7FS No No No No Yes No
FAT12 No No No No No No[115]
FAT16 No No No No No No[115]
FAT32 No No No No No No
exFAT Unknown No No Unknown No No
GFS Partial[116] No No No Yes No
HPFS No No Yes No No No
NTFS Partial No Yes No Yes Yes[117]
HFS Plus No No Yes Yes No Yes
FFS 8:1[118] No No No Yes No
UFS1 8:1[118] No No No Yes No
UFS2 8:1[118] Yes No No Yes No
LFS 8:1[118] No No No Yes No
ext2 No[119] No No No Yes No[120]
ext3 No[119] No No No Yes No
ext4 No[119] No Yes Yes Yes No
Lustre No No Yes Yes Yes No
NILFS No No No Yes Yes No
ReiserFS Yes No No No Yes No
Reiser4 Yes No Yes[121] Yes Yes Yes[98]
OCFS No No Yes No Unknown No
OCFS2 No No Yes No Yes No
Reliance No No No No No No
Reliance Nitro No No Yes No Yes No
XFS No No Yes Yes Yes No
JFS Yes No Yes No Yes only in JFS1 on AIX[122]
QFS Yes No No No Unknown No
BFS No No Yes No Unknown No
NSS No No Yes No Unknown Yes
NWFS Yes[123] No No No Unknown Yes
ODS-5 No No Yes No Unknown No
VxFS Unknown No Yes No Yes No
UDF No No Yes Depends[124] No No
Fossil No No No No Unknown Yes
VMFS2 Yes No No No Yes No
VMFS3 Yes No Yes No Yes No
ZFS Partial[125] Yes No Yes Yes Yes
File system Block suballocation Variable file block size[114] Extents Allocate-on-flush Sparse files Transparent compression

Supporting operating systems

File system Windows 9x Windows NT Linux Mac OS Mac OS X FreeBSD BeOS Solaris AIX z/OS OS/2 Windows CE Windows Mobile VxWorks HP-UX
FAT12 Yes Yes Yes Yes Yes Yes Yes Yes Partial on diskettes only, through dos* commands Unknown Yes Yes[126] Unknown Yes[127] Unknown
FAT16 Yes Yes Yes Yes Yes Yes Yes Yes Partial on diskettes only, through dos* commands Unknown Yes Yes[126] Yes Yes[127] Unknown
FAT32 Yes since Windows 95 OSR2 Yes since Windows 2000 Yes Yes Yes Yes Yes Yes Partial on diskettes only, through dos* commands Unknown with third-party app[128] Yes[126] Yes Yes[127] Unknown
exFAT Partial read-only with third party driver Yes : Win7, Vista SP1, can be added to XP SP2 with third party driver No Yes 10.6.5+ No No Yes No No No Yes No Unknown Unknown
NTFS with third-party driver[129] Yes Yes Kernel 2.2 or newer, or with NTFS-3G or ntfsprogs No with NTFS-3G with NTFS-3G with NTFS-3G with NTFS-3G on Opensolaris Unknown Unknown Partial read-only third-party driver[130] with 3rd-party driver[131] No Unknown Unknown
HFS with third-party app[132] with third-party app[132] Yes Yes Yes with third-party app[133][134] Unknown Unknown Unknown No with third-party app[135] No No No Unknown
HFS Plus with third-party app[132] with third-party app[132] Partial - write support occurs if journal is empty, but requires a force mount. Yes since Mac OS 8.1 Yes Partial read-only third-party app[136] Unknown Unknown Unknown No with third-party app No No No Unknown
HPFS Partial read-only third-party driver[137] included until v3.51, third-party driver until 4.0[138] Yes No Unknown Yes Unknown Unknown Unknown Unknown Yes No Unknown Unknown Unknown
FFS Unknown Unknown Yes[139] No Yes Yes Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
UFS1 Unknown Unknown Partial - read only No Yes Yes Unknown Unknown Unknown Unknown Unknown Unknown Unknown No Unknown
UFS2 Unknown Unknown Partial - read only No No Yes Unknown Unknown Unknown Unknown Unknown Unknown Unknown No Unknown
ext2 Unknown with Ext2Fsd (complete)[140] or Ext2 IFS (partial, no large inodes)[141] or Ext2Read (read-only, also on LVM2)[142] Yes No with fuse-ext2[143], ExtFS[144] and ext2fsx[145] Yes Unknown Unknown Unknown Unknown third-party app[146] with 3rd-party app[147] with 3rd-party app[147] Unknown Unknown
ext3 Unknown with Ext2Fsd (complete)[140] or Ext2 IFS (partial, no large inodes)[141] or Ext2Read (read-only, also on LVM2)[142] Yes No with fuse-ext2[143] and ExtFS[144] Yes Unknown Yes Unknown Unknown Unknown with 3rd-party app[147] with 3rd-party app[147] Unknown Unknown
ext4 No with Ext2Fsd (partial, no extents)[140], Ext2 IFS (partial, no large inodes)[141] or Ext2Read (read-only, also on LVM2)[142] Yes since kernel 2.6.28 No with fuse-ext2 (partial)[143] and ExtFS (full read/write)[144] No Unknown Unknown Unknown Unknown Unknown No Unknown Unknown Unknown
Lustre No Partial - under development[148] Yes[149] No Partial - via FUSE Partial - via FUSE No Partial - under development[150] No No No No No Unknown Unknown
GFS Unknown Unknown Yes No Unknown No Unknown Unknown Unknown Unknown Unknown No No Unknown Unknown
NILFS Unknown Unknown Yes since kernel 2.6.30 No Unknown No Unknown Unknown Unknown Unknown Unknown No No Unknown Unknown
ReiserFS Unknown Partial with third-party app Yes No No Partial - read only Unknown Unknown Unknown Unknown Unknown with 3rd-party app[147] with 3rd-party app[147] Unknown Unknown
Reiser4 Unknown Unknown with a kernel patch No No No Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
OCFS Unknown Unknown Yes No Unknown No Unknown Unknown Unknown Unknown Unknown No No Unknown Unknown
OCFS2 Unknown Unknown Yes No Unknown No Unknown Unknown Unknown Unknown Unknown No No Unknown Unknown
Reliance No No No No No No No No No No No Yes No Yes Unknown
Reliance Nitro No No Yes No No No No No No No No Yes Yes Yes Unknown
XFS Unknown Unknown Yes No Unknown Partial Unknown Unknown Unknown Unknown Unknown No No Unknown Unknown
JFS Unknown Unknown Yes No No No Unknown Unknown Yes Unknown Yes No No Unknown
QFS Unknown Unknown via client software[151] No Unknown No Unknown Yes Unknown Unknown Unknown No No Unknown Unknown
BFS Unknown Unknown Partial - read-only No Unknown No Yes Unknown Unknown Unknown Unknown No No Unknown Unknown
NSS Unknown Unknown with Novell OES2[citation needed] No Unknown No Unknown Unknown Unknown Unknown Unknown No No Unknown Unknown
NWFS Unknown Unknown via ncpfs client software[152] No Unknown Yes Unknown Unknown Unknown Unknown Unknown No No Unknown Unknown
UDF Partial read-only support of UDF 1.02 since Win98 and WinME Yes[153] Yes Yes since Mac OS 9 Yes Yes Unknown Yes Unknown Unknown Unknown Yes Unknown Unknown Unknown
VxFS Unknown Unknown Yes No Unknown No Unknown Yes Yes Unknown Unknown No No Unknown Yes
Fossil No No No No No No No No No No No No No No Unknown
ZFS No No with 3rd Party kernel module [154] or FUSE[155] No with free 3rd-party software[156] Yes No Yes No No No Unknown Unknown Unknown Unknown
IBM HFS No No No No No No No No No Yes No Unknown Unknown Unknown Unknown
IBM zFS No No No No No No No No No Yes No Unknown Unknown Unknown Unknown
IBM GPFS[157] No Yes Yes No No No No No Yes No No Unknown Unknown Unknown Unknown
VMFS2 Unknown Unknown Unknown No Unknown No Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
VMFS3 Unknown Unknown Partial read-only with vmfs[158] No Unknown No Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
DECtape Unknown Unknown with AncientFS[159] No with AncientFS[159] with AncientFS[159] Unknown Unknown Unknown Unknown Unknown No No Unknown Unknown
Level-D Unknown Unknown Unknown No Unknown No Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
RT-11 Unknown Unknown Unknown No Unknown No Unknown Unknown Unknown Unknown Unknown No No Yes Unknown
ODS-2 Unknown Unknown Partial read-only with tool or kernel module[160] No Unknown No Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
ODS-5 Unknown Unknown Partial read-only with kernel module[160] No Unknown No Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
LFS Unknown Unknown with logfs[161] and others No Unknown No Unknown Unknown Unknown Unknown Unknown No No Unknown Unknown
Btrfs No No Yes No No No No No No No No No No Unknown Unknown
LTFS Unknown Unknown Yes No Yes No No No No No No No No Unknown Unknown
File system Windows 9x Windows NT Linux Mac OS Mac OS X FreeBSD BeOS Solaris AIX z/OS OS/2 Windows CE Windows Mobile VxWorks HP-UX

See also

Notes

  1. ^ 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.
  2. ^ "Polycenter File System — HELP", Tru64 Unix managers, ORNL, http://www.ornl.gov/lists/mailing-lists/tru64-unix-managers/1993/10/msg00043.html .
  3. ^ 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.
  4. ^ a b Specifications for the Reliance file systems are available here.
  5. ^ a b 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; 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.
  6. ^ a b c d e 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 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).
  7. ^ a b "Maximum CP/M-80 2.2 volume size?", comp.os.cpm, Google Groups, http://groups.google.com/group/comp.os.cpm/browse_thread/thread/ac56a0ae9ed64fd1, retrieved 2009-10-09 
  8. ^ SFS file system
  9. ^ a b c d e f g h i Depends on whether the FAT12, FAT16, and FAT32 implementation 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) or character 5 (replacement for character 229 which itself is used as deleted-file marker). Short names also do not normally contain lowercase letters. Also note that a few special names (CON, NUL, LPT1) should be avoided, as some operating systems (notably DOS and windows) effectively reserve them.
  10. ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad 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.
  11. ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai The on-disk structures have no inherent limit. Particular Installable File System drivers and operating systems may impose limits of their own, however. MS-DOS does not support full pathnames longer than 260 bytes for FAT12 and FAT16. Windows NT does not support full pathnames longer than 32,767 bytes for NTFS. Most Windows programms will fail when full path exceeds 255 characters (including Explorer and CMD.EXE). Linux has a pathname limit of 4,096.
  12. ^ See manual http://wwwlehre.dhbw-stuttgart.de/~helbig/os/v6/doc/V/fs.html
  13. ^ 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.
  14. ^ Table "Limits" states a maximum of 255 Unicode characters for the filename [1]
  15. ^ "KB955704". 2009-01-27. http://support.microsoft.com/?kbid=955704. "Description of the exFAT file system driver update package [for 32-bit XP]" 
  16. ^ "msdn TexFAT File Naming Limitations". 2009-10-14. http://msdn.microsoft.com/en-us/library/cc907928.aspx. 
  17. ^ 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. [2]
  18. ^ 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 /.
  19. ^ 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.
  20. ^ 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.
  21. ^ a b This is the limit of the on-disk structures. The NTFS driver for Windows NT limits the volume size that it can handle to 226 TB and the file size to 16 TB respectively.
  22. ^ 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.
  23. ^ 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.
  24. ^ Docs, Apple, http://docs.info.apple.com/article.html?artnum=25557 .
  25. ^ Docs, http://docs.info.apple.com/article.html?artnum=24601 .
  26. ^ "Interviews/EricSandeen". FedoraProject. 2008-06-09. http://fedoraproject.org/wiki/Interviews/EricSandeen. Retrieved 2009-10-09. 
  27. ^ a b Depends 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.
  28. ^ ReiserFS has a theoretical maximum file size of 1 EB, but "page cache limits this to 8TB on architectures with 32 bit int"[3]
  29. ^ Note that the filename can be much longer XFS#Extended_attributes
  30. ^ a b XFS 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.
  31. ^ a b 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.
  32. ^ Varies wildly according to block size and fragmentation of block allocation groups.
  33. ^ a b NSS allows files to have multiple names, in separate namespaces.
  34. ^ 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.
  35. ^ Maximum combined filename/filetype length is 236 bytes; each component has an individual maximum length of 255 bytes.
  36. ^ Maximum pathname length is 4,096 bytes, but quoted limits on individual components add up to 1,664 bytes.
  37. ^ This restriction might be lifted in newer versions.
  38. ^ a b c d e http://minix1.woodhull.com/faq/filesize.html
  39. ^ a b 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.
  40. ^ ISO 9660#Restrictions
  41. ^ 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/4 GiB file size limit
  42. ^ 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.
  43. ^ Joliet Specification
  44. ^ [4]
  45. ^ Implemented in later versions as an extension
  46. ^ a b c 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.
  47. ^ a b 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.
  48. ^ The f-node contains a field for a user identifier. This is not used except by OS/2 Warp Server, however.
  49. ^ 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.
  50. ^ As of Vista, NTFS has support for Mandatory Labels, which are used to enforce Mandatory Integrity Control. See [5]
  51. ^ As of 10.5 Leopard, Mac OS X has support for Mandatory Labels. See
  52. ^ a b c d Access-control lists and MAC labels are layered on top of extended attributes.
  53. ^ Some operating systems implemented extended attributes as a layer over UFS1 with a parallel backing file (e.g., FreeBSD 4.x).
  54. ^ a b c d e f g h i j 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.
  55. ^ ext4 has group descriptor and journal checksums only
  56. ^ Creation time is stored in the backing ext4 filesystem, but is not yet sent to clients.
  57. ^ Lustre has checksums for data over the network, but depends on backing filesystem and hardware for checksums of persistent data
  58. ^ a b c d e f Not available with ext3/4, but will be available with ZFS OST/MDT backing filesystems.
  59. ^ 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.
  60. ^ a b CRCs are employed for certain types of metadata.
  61. ^ a b c d e f The local time, timezone/UTC offset, and date are derived from the time settings of the reference/single timesync source in the NDS tree.
  62. ^ a b 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.
  63. ^ a b 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.
  64. ^ Record Management Services (RMS) attributes include record type and size, among many others.
  65. ^ File permission in 9P are a variation of the traditional Unix permissions with some minor changes, eg. the suid bit is replaced by a new 'exclusive access' bit.
  66. ^ 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.
  67. ^ 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
  68. ^ a b Time the file was recorded on the volume always available; "File Creation Date and Time" available only if the file has an Extended Attribute block.
  69. ^ a b Not applicable to file systems on a read-only medium.
  70. ^ a b Available only if the file has an Extended Attribute block.
  71. ^ Symlinks only visible to NFS clients. References and Off-Disk Pointers (ODPs) provide local equivalent.
  72. ^ 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.
  73. ^ a b c "6", Parted manual, GNU, http://www.gnu.org/software/parted/manual/html_chapter/parted_6.html .
  74. ^ 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
  75. ^ Optional journaling of data
  76. ^ 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.
  77. ^ a b NTFS stores everything, even the file data, as meta-data, so its log is closer to block journaling.
  78. ^ 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.
  79. ^ NTFS does not internally support snapshots, but in conjunction with the Volume Shadow Copy Service can maintain persistent block differential volume snapshots.
  80. ^ http://www.bleepingcomputer.com/tutorials/tutorial133.html
  81. ^ 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.
  82. ^ Hard Links on HFS+
  83. ^ 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.
  84. ^ 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 (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).
  85. ^ 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.
  86. ^ 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.
  87. ^ "Write Ahead Physical Block Logging" in NetBSD, provides metadata journaling and consistency as an alternative to softdep.
  88. ^ OpenBSD growfs(8) manpage
  89. ^ "Soft dependencies" (softdep) in NetBSD, called "soft updates" in FreeBSD provide meta-data consistency at all times without double writes (journaling).
  90. ^ Block level journals can be added by using gjournal module in FreeBSD.
  91. ^ FreeBSD growfs(8) manpage
  92. ^ a b c d UDF, LFS, and NILFS are log-structured file systems and behave as if the entire file system were a journal.
  93. ^ Linux kernel versions 2.6.12 and newer.
  94. ^ a b c Offline growing/shrinking as well as online growing: "Linux man page for resize2fs(8) (from e2fsprogs 1.41.9)". http://www.unix.com/man-page/Linux/8/resize2fs/. 
  95. ^ a b c Off by default.
  96. ^ 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
  97. ^ Full block journaling for ReiserFS was not added to Linux 2.6.8 for obvious reasons.
  98. ^ a b Reiser4 supports transparent compression and encryption with the cryptcompress plugin which is the default file handler in version 4.1.
  99. ^ OCFS2 supports creating multiple write-able snapshots of regular files using REFLINK.
  100. ^ a b File system implements reliability via atomic transactions.
  101. ^ Optionally no on IRIX.
  102. ^ 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.
  103. ^ http://www.linux.com/archive/feed/32002
  104. ^ a b c d 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.
  105. ^ a b 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. (Filesystem Events tracked by NSure)
  106. ^ a b Available only in the "NFS" namespace.
  107. ^ Limited capability. Volumes can span physical disks (volume segment)
  108. ^ a b These are referred to as "aliases".
  109. ^ VxFS provides an optional feature called "Storage Checkpoints" which allows for advanced file system snapshots.
  110. ^ When used with venti.
  111. ^ a b 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.
  112. ^ "How to resize ZFS". http://harryd71.blogspot.com/2008/08/how-to-resize-zfs.html. 
  113. ^ McPherson, Amanda (2009-06-22), A Conversation with Chris Mason on BTRfs: the next generation file system for Linux, Linux Foundation, http://www.linuxfoundation.org/news-media/blogs/browse/2009/06/conversation-chris-mason-btrfs-next-generation-file-system-linux, retrieved 2009-09-01 
  114. ^ a b 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.
  115. ^ a b DoubleSpace in DOS 6, and DriveSpace in Windows 95 and Windows 98 were data compression schemes for FAT, but are no longer supported by Microsoft.
  116. ^ Only for "stuffed" inodes
  117. ^ Only if formatted with 4kB-sized clusters or smaller
  118. ^ a b c d Other block:fragment size ratios supported; 8:1 is typical and recommended by most implementations.
  119. ^ a b c Fragments were planned, but never actually implemented on ext2 and ext3.
  120. ^ 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.
  121. ^ In "extents" mode.
  122. ^ "AIX documentation: JFS data compression". IBM. http://publib.boulder.ibm.com/infocenter/pseries/v5r3/topic/com.ibm.aix.baseadmn/doc/baseadmndita/jfsdatacomp.htm. 
  123. ^ 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.
  124. ^ Depends on UDF implementation.
  125. ^ When enabled, ZFS's logical-block based compression behaves much like tail-packing for the last block of a file.
  126. ^ a b c Files, Databases, and Persistent Storage. MSDN.
  127. ^ a b c Via dosFs.
  128. ^ OS/2 and eComstation FAT32 Driver
  129. ^ NTFS for Windows 98
  130. ^ OS/2 NTFS Driver
  131. ^ Tuxera NTFS for Windows CE. See article and announcement.
  132. ^ a b c d Sharing Disks - Windows Products
  133. ^ hfsutils at FreshPorts
  134. ^ hfs at FreshPorts
  135. ^ OS/2 HFS Driver
  136. ^ Catacombae HFSExplorer
  137. ^ DOS/Win 9x HPFS Driver
  138. ^ Win NT 4.0 HPFS Driver
  139. ^ "How to mount FFS partition under Linux - NetBSD Wiki". Wiki.netbsd.se. Archived from the original on March 19, 2008. http://web.archive.org/web/20080319022005/http://wiki.netbsd.se/How_to_mount_FFS_partition_under_Linux. Retrieved 2009-10-09. 
  140. ^ a b c Ext2Fsd is an open source linux ext2/ext3/ext4 file system driver for Windows systems (NT/2K/XP/VISTA, X86/AMD64). Currently does not support extents, a default feature of ext4. [6]
  141. ^ a b c Ext2 IFS for Windows provides kernel level read/write access to Ext2 and Ext3 volumes in Windows NT4, 2000, XP and Vista. Does not support inodes above 128.[7]
  142. ^ a b c Ext2Read is an explorer-like utility to explore ext2/ext3/ext4 file systems. It supports extents, large inodes, and LVM2 volumes.Ext2Read
  143. ^ a b c Fuse-ext2 is a multi OS FUSE module to mount ext2 and ext3 file system devices and/or images with read and write support.[8]
  144. ^ a b c Paragon 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.[9]
  145. ^ Ext2fsx is the first and old implementation of the Ext2 (Linux) filesystem for Mac OS X.[10]
  146. ^ OS/2 ext2 Driver
  147. ^ a b c d e f See Total Commander, which supports accessing ext2, ext3, and ReiserFS from Windows, Windows CE, and Windows Mobile.
  148. ^ http://wiki.lustre.org/index.php/Windows_Native_Client
  149. ^ http://wiki.lustre.org/index.php?title=Main_Page
  150. ^ http://wiki.lustre.org/index.php/FAQ_-_OS_Support
  151. ^ Using SAM-QFS on Linux Clients
  152. ^ ncpfs
  153. ^ "Understanding the difference between the Live File System and Mastered disc formats". Which CD or DVD format should I use?. Microsoft. http://windowshelp.microsoft.com/Windows/en-US/help/2af64e60-60aa-4d79-ab6c-3a5db5806cbe1033.mspx#section_2. Retrieved 2008-11-22. 
  154. ^ Native ZFS for Linux
  155. ^ ZFS on FUSE
  156. ^ Mac ZFS
  157. ^ [11]
  158. ^ vmfs
  159. ^ a b c AncientFS
  160. ^ a b VMS2Linux
  161. ^ logfs

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Comparison of operating systems — Usage share of web client operating systems. (Source: Median values from Usage share of operating systems for August 2011.)   Windows XP (35.21%) …   Wikipedia

  • Comparison of file archivers — This is an incomplete list, which may never be able to satisfy particular standards for completeness. You can help by expanding it with reliably sourced entries. The following tables compare general and technical information for a number of file… …   Wikipedia

  • List of file systems — The following lists identify, characterize and link to more thorough information on computer file systems.Many older operating systems support only their one native file system, which does not bear any name apart from the name of the operating… …   Wikipedia

  • Comparison of CRM systems — This article is a comparison of notable CRM systems. Contents 1 General 2 Features 3 See also 4 References 5 …   Wikipedia

  • Extent (file systems) — An extent is a contiguous area of storage in a computer file system, reserved for a file. When starting to write to a file, a whole extent is allocated. When writing to the file again, possibly after doing other write operations, the data… …   Wikipedia

  • Comparison of file comparison tools — Contents 1 General 2 Compare Features 3 API / Editor Features 4 Other features 5 Aspects …   Wikipedia

  • Comparison of file managers — The following tables compare general and technical information for a number of notable file managers. Contents 1 General information 2 Operating system support 2.1 Cross platform file managers 2.2 …   Wikipedia

  • Comparison of open source operating systems — These tables compare the various free software / open source operating systems. Where not all of the non EOL versions support a feature, the first version which support it is listed. Contents 1 General information 2 Supported architectures 3… …   Wikipedia

  • Comparison of operating system kernels — A kernel is the core component of every computer operating system. While kernels are highly technical in nature, and may be hidden from the user under many layers of software and applications, they do have distinguishing or characteristic… …   Wikipedia

  • File system — For library and office filing systems, see Library classification. Further information: Filing cabinet A file system (or filesystem) is a means to organize data expected to be retained after a program terminates by providing procedures to store,… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”