Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Comparison of file systems
List article

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

General information

File systemCreatorYear of introductionOriginal operating system
DECtapeDEC1964PDP-6 Monitor
OS/3x0 FSIBM1964OS/360
Level-DDEC1968TOPS-10
George 3ICT (later ICL)1968George 3
Version 6 Unix file system (V6FS)Bell Labs1972Version 6 Unix
RT-11 file systemDEC1973RT-11
Disk Operating System (GEC DOS)GEC1973Core Operating System
CP/M file systemDigital Research (Gary Kildall)1974CP/M12
ODS-1DEC1975RSX-11
GEC DOS filing system extendedGEC1977OS4000
FAT (8-bit)Microsoft (Marc McDonald) for NCR1977Microsoft Standalone Disk BASIC-80 (later Microsoft Standalone Disk BASIC-86)
DOS 3.xApple1978Apple DOS
UCSD p-SystemUCSD1978UCSD p-System
CBM DOSCommodore1978Commodore BASIC
Atari DOSAtari1979Atari 8-bit
Version 7 Unix file system (V7FS)Bell Labs1979Version 7 Unix
ODS-2DEC1979OpenVMS
FAT12Seattle Computer Products (Tim Paterson)1980QDOS/86-DOS (later IBM PC DOS 1.0)
ProDOSApple1980Apple SOS (later ProDOS 8)
DFSAcorn Computers Ltd1982Acorn BBC Micro MOS
ADFSAcorn Computers Ltd1983Acorn Electron (later Arthur/RISC OS)
FFSKirk McKusick19834.2BSD
FAT16IBM, Microsoft1984PC DOS 3.0, MS-DOS 3.0
MFSApple1984System 1
Elektronika BK tape formatNPO "Scientific centre" (now Sitronics)1985Vilnius Basic, BK monitor program
HFSApple1985System 2.1
Amiga OFS[1]Metacomco for Commodore1985Amiga OS
GEMDOSDigital Research1985Atari TOS
NWFSNovell1985NetWare 286
High SierraEcma International1986MSCDEX for MS-DOS 3.1/3.23
FAT16BCompaq1987Compaq MS-DOS 3.31
Minix V1 FSAndrew S. Tanenbaum1987MINIX 1.0
Amiga FFSCommodore1988Amiga OS 1.3
ISO 9660:1988Ecma International, ISO1988MS-DOS, "classic" Mac OS, and AmigaOS
HPFSIBM & Microsoft1989OS/2 1.2
Rock RidgeIEEE1990 c. 1990Unix
JFS1IBM1990AIX4
VxFSVERITAS1991SVR4.0
extRémy Card1992Linux
AdvFSDEC19935Digital Unix
NTFSMicrosoft (Gary Kimura, Tom Miller)1993Windows NT 3.1
LFSMargo Seltzer1993Berkeley Sprite
ext2Rémy Card1993Linux, Hurd
XiafsQ. Frank Xia1993Linux
UFS1Kirk McKusick19944.4BSD
XFSSGI1994IRIX
HFSIBM1994MVS/ESA (now z/OS)
FAT16XMicrosoft1995MS-DOS 7.0 / Windows 95
Joliet ("CDFS")Microsoft1995Microsoft Windows, Linux, "classic" Mac OS, and FreeBSD
UDFISO/ECMA/OSTA1995
FAT32, FAT32XMicrosoft1996MS-DOS 7.10 / Windows 95 OSR26
QFSSun Microsystems1996Solaris
GPFSIBM1996AIX, Linux
Be File SystemBe Inc. (D. Giampaolo, Cyril Meurillon)1996BeOS
Minix V2 FSAndrew S. Tanenbaum1997MINIX 2.0
HFS PlusApple1998Mac OS 8.1
NSSNovell1998NetWare 5
PolyServe File System (PSFS)PolyServe1998Windows, Linux
ODS-5DEC1998OpenVMS V7.2
WAFLNetApp1998Data ONTAP
ext3Stephen Tweedie1999Linux
ISO 9660:1999Ecma International, ISO1999Microsoft Windows, Linux, "classic" Mac OS, FreeBSD, and AmigaOS
JFSIBM1999OS/2 Warp Server for e-business
GFSSistina (Red Hat)2000Linux
ReiserFSNamesys2001Linux
zFSIBM2001z/OS (backported to OS/390)
FATXMicrosoft2002Xbox
UFS2Kirk McKusick2002FreeBSD 5.0
OCFSOracle Corporation2002Linux
SquashFSPhillip Lougher, Robert Lougher2002Linux
VMFS2VMware2002VMware ESX Server 2.0
LustreCluster File Systems72002Linux
FossilBell Labs2003Plan 9 version 4
Google File SystemGoogle2003Linux
ZFSSun Microsystems2004Solaris
Reiser4Namesys2004Linux
Non-Volatile File SystemPalm, Inc.2004Palm OS Garnet
BeeGFSFraunhofer/ ThinkParQ2005Linux
GlusterFSGluster Inc.2005Linux
Minix V3 FSAndrew S. Tanenbaum2005MINIX 3
OCFS2Oracle Corporation2005Linux
NILFSNTT2005Linux
VMFS3VMware2005VMware ESX Server 3.0
GFS2Red Hat2006Linux
ext4various2006Linux
exFATMicrosoft2006Windows CE 6.0
BtrfsChris Mason2007Linux
JXFSHyperion Entertainment2008AmigaOS 4.1
HAMMERMatthew Dillon2008DragonFly BSD 2.0
LSFSStarWind Software2009Linux, FreeBSD, Windows
UniFSNasuni2009Cloud
CASLNimble Storage2010Linux
OrangeFSOmnibond and others2011Linux
VMFS5VMware2011vSphere 5.0+
CHFSUniversity of Szeged2011NetBSD 6.0+
ReFSMicrosoft2012Windows Server 2012
F2FSSamsung Electronics2012Linux
bcachefsKent Overstreet2015Linux
APFSApple2016macOS High Sierra, iOS 10.3
NOVAUC, San Diego2017Linux
BlueStore/CephfsRed Hat, University of California, Santa Cruz2017Linux
HAMMER2Matthew Dillon82017DragonFly BSD 5.0
EROFSHuawei92018Android
VaultFSSwiss Vault2022Linux / Unix

Metadata

File systemStores file ownerPOSIXfile permissionsCreation timestampsLast access/read timestampsLast metadata changetimestampsLast archivetimestampsAccess control listsSecurity/MAC labelsExtended attributes/Alternate data streams/forksMetadata checksum/ECC
BcachefsYesYesYesYesYesNoYesYesYesYes
BeeGFSYesYesNoYesYesNoYes?YesYes
CP/M file systemNoNoYes10NoNoNoNoNoNoNo
DECtape11NoNoYesNoNoNoNoNoNoNo
Elektronika BK tape formatNoNoNoNoNoNoNoNoNoYes
Level-DYesYesYesYes (date only)YesYesYes (FILDAE)NoNoNo
RT-1112NoNoYes (date only)NoNoNoNoNoNoYes
Version 6 Unix file system (V6FS)13YesYesNoYesNoNoNoNoNoNo
Version 7 Unix file system (V7FS)14YesYesNoYesNoNoNoNoNoNo
exFATNoNoYesYesNoNoNoNoNoNo
FAT12/FAT16/FAT32NoNoYesYesNo15NoNoNoNo16No
HPFSYes17NoYesYesNoNoNo?YesNo
NTFSYesYes18YesYesYesNoYesYes19YesNo
ReFSYesYesYesYesYesNoYes?Yes20Yes
HFSNoNoYesNoNoYesNoNoYesNo
HFS PlusYesYesYesYesYesYesYes?YesNo
FFSYesYesNoYesYesNoNoNoNoNo
UFS1YesYesNoYesYesNoYes21Yes22No23No
UFS2YesYesYesYesYesNoYes24Yes25YesPartial
HAMMERYesYesYesYesYes?YesYesNoYes
LFSYesYesNoYesYesNoNoNoNoNo
extYesYesNoNoNoNoNoNoNoNo
XiafsYesYesNoYesYesNoNoNoNoNo
ext2YesYesNoYesYesNoYes26Yes27YesNo
ext3YesYesNoYesYesNoYes28Yes29YesNo
ext4YesYesYesYesYesNoYes30Yes31YesPartial32
NOVAYesYesYesYesYesNoNoNoNoYes
LustreYesYesNoYesYesNoYesYesYesNo
F2FSYesYesYesYesYesNoYes33Yes34YesNo
GPFSYesYesYesYesYesNoYesYesYesYes
GFSYesYesNoYesYesNoYes35Yes36YesNo
NILFSYesYesYesNoYesNoNoNoNoYes
ReiserFSYesYesNoYesYesNoYes37Yes38YesNo
Reiser4YesYesNoYesYesNoNoNoNoNo
OCFSNoYesNoNoYesYesNoNoNoNo
OCFS2YesYesNoYesYesNoNoNoNoNo
XFSYesYesYes39YesYesNoYesYes40YesYes
JFSYesYesYesYesYesNoYesYesYesNo
QFSYesYesYesYesYesYesYesNoYesNo
BFSYesYesYesNoNoNoNoNoYesNo
AdvFSYesYesNoYesYesNoYesNoYesNo
NSSYesYesYes41Yes42YesYes43Yes?Yes4445No
NWFSYes?Yes46Yes47YesYes48Yes?Yes4950No
ODS-5YesYesYes??YesYes?Yes51No
APFSYesYesYesYesYesYesYesYesYesYes
VxFSYesYesYesYesYesNoYes?Yes52No
UDFYesYesYesYesYesYesYesNoYesYes
FossilYesYes53NoYesYesNoNoNoNoNo
ZFSYesYesYesYesYesYesYesYes54Yes55Yes
BtrfsYesYesYesYesYesNoYesYesYesYes
Minix V1YesYesNoNoNoNoNoNoNoNo
Minix V2YesYesNoYesYesNoNoNoNoNo
Minix V3YesYesNoYesYesNoNoNoNoNo
VMFS2YesYesNoYesYesNoNoNoNoNo
VMFS3YesYesNoYesYesNoNoNoNoNo
ISO 9660:1988NoNoYesNoNoNoNoNoNoNo
Rock RidgeYesYesNoYes56YesNoNo57No58No59No
Joliet ("CDFS")NoNoYesNoNoNoNoNoNoNo
ISO 9660:1999NoNoYesNoNoNoNoNoNoNo
High SierraNoNoYesNoNoNoNoNoNoNo
SquashFSYesYesNoNoYesNoNoYesYesNo
BlueStore/CephfsYesYesYesYes?NoYesYesYesYes
File systemStores file ownerPOSIXfile permissionsCreation timestampsLast access/read timestampsLast metadata changetimestampsLast archivetimestampsAccess control listsSecurity/MAC labelsExtended attributes/Alternate data streams/forksMetadata checksum/ECC

Features

File capabilities

File systemHard linksSymbolic linksBlock journalingMetadata-only journalingCase-sensitiveCase-preservingFile Change LogXIPResident files (inline data)
DECtapeNoNoNoNoNoNoNoNo?
BeeGFSNoYesYesYesYesYesNoNo?
Level-DNoNoNoNoNoNoNoNo?
RT-11NoNoNoNoNoNoNoNo?
APFSYesYes??OptionalYes???
Version 6 Unix file system (V6FS)YesNoNoNoYesYesNoNoNo
Version 7 Unix file system (V7FS)YesNo60NoNoYesYesNoNoNo
exFATNoNoNoPartial (with TexFAT only)NoYesNoNoNo
FAT12NoNoNoPartial (with TFAT12 only)NoPartial (with VFAT LFNs only)NoNoNo
FAT16 / FAT16B / FAT16XNoNoNoPartial (with TFAT16 only)NoPartial (with VFAT LFNs only)NoNoNo
FAT32 / FAT32XNoNoNo?Partial (with TFAT32 only)NoPartial (with VFAT LFNs only)NoNoNo
GFSYesYes61YesYes62YesYesNoNo?
HPFSNoNoNoNoNoYesNoNo?
NTFSYesYes63No64Yes65 (2000)Yes66YesYes?Yes (approximately 700 bytes)
HFS PlusYes67YesNoYes68Optional69YesYes70No?
FFSYesYesNoNoYesYesNoNoNo
UFS1YesYesNoNoYesYesNoNoNo
UFS2YesYesNoYes71 72 73YesYesNo?No
HAMMERYesYesYesYesYesYes?No?
LFSYesYesYes74NoYesYesNoNo?
extYesYesNoNoYesYesNoNo?
XiafsYesYesNoNoYesYesNoNo?
ext2YesYesNoNoYesYesNoYes75?
ext3YesYesYes (2001) 76Yes (2001)YesYesNoYes?
ext4YesYesYes77YesYes, optional 78YesNoYesYes (approximately 160 bytes)79
NOVAYesYesNoYesYesYesNoYes?
F2FSYesYesYes80NoYesYesNoNo?
LustreYesYesYes81YesYesYesYesNo?
NILFSYesYesYes82NoYesYesNoNo?
ReiserFSYesYesYes83YesYesYesNo??
Reiser4YesYesYesNoYesYesNo??
OCFSNoYesNoNoYesYesNoNo?
OCFS2YesYesYesYesYesYesNoNo?
XFSYesYesYes84YesYes85YesYes??
JFSYesYesYesYes (1990)Yes86YesNo??
QFSYesYesNoYesYesYesNoNo?
BFSYesYesNoYesYesYes?No?
NSSYesYes?YesYes87Yes88Yes89No?
NWFSYes90Yes91NoNoYes92Yes93Yes94No?
ODS-2YesYes95NoYesNoNoYesNo?
ODS-5YesYes96NoYesNoYesYes??
UDFYesYesYes97Yes98YesYesNoYesYes99
VxFSYesYesYesNoYesYesYes??
FossilNoNoNoNoYesYesYesNo?
ZFSYesYesYes100No101YesYesNoNoYes (112 bytes)102
BtrfsYesYesYes103NoYesYes???
BcachefsYesYesYes104NoYesYes???
Minix V1YesYesNoNoYesYesNoNo?
Minix V2YesYesNoNoYesYesNoNo?
Minix V3YesYesNoNoYesYesNoNo?
VMFS2YesYesNoYesYesYesNoNo?
VMFS3YesYesNoYesYesYesNoNo?
ReFSYes105Yes??Yes106Yes???
ISO 9660NoNoNoNoNoNoNoNo?
Rock RidgeYesYesNoNoYesYesNoNo?
Joliet ("CDFS")NoNoNoNoNoYesNoNo?
SquashFSYesYesNoNoYesYesNoNo?
BlueStore/CephfsYesYesYesYesYesYesNoNo?
File systemHard linksSymbolic linksBlock journalingMetadata-only journalingCase-sensitiveCase-preservingFile Change LogXIPResident files

Block capabilities

Note that in addition to the below table, block capabilities can be implemented below the file system layer in Linux (LVM, integritysetup, cryptsetup) or Windows (Volume Shadow Copy Service, SECURITY), etc.

File systemInternal snapshotting / branchingEncryptionDeduplicationData checksum/ ECCPersistent CacheMultiple DevicesCompressionSelf-healing107
DECtapeNoNoNoNoNoNoNoNo
BeeGFSNoNoYesNoNoNoYesNo
Level-DNoNoNoNoNoNoNoNo
RT-11NoNoNoNoNoNoNoNo
APFSYesYesYes 108NoNoNoYesNo
Version 6 Unix file system (V6FS)NoNoNoNoNoNoNoNo
Version 7 Unix file system (V7FS)NoNoNoNoNoNoNoNo
exFATNoNoNoNoNoNoNoNo
FAT12NoNoNoNoNoNoPartial109No
FAT16 / FAT16B / FAT16XNoNoNoNoNoNoPartial110No
FAT32 / FAT32XNoNoNoNoNoNoNoNo
GFSNoNo?NoNoNoNoNo
HPFS?No?NoNoNoNoNo
NTFSNoYesYes111112NoNoNoYesNo
HFS PlusNoNo113NoNoNoNoNoNo
FFSNoNoNoNoNoNoNoNo
UFS1NoNoNoNoNoNoNoNo
UFS2YesNoNoNoNoNoNoNo
HAMMERYesNoYesYesNoNoNoNo
LFSYesNoNoNoNoNoNoNo
extNoNoNoNoNoNoNoNo
XiafsNoNoNoNoNoNoNoNo
ext2NoNoNoNoNoNoNoNo
ext3NoNoNoNoNoNoNoNo
ext4NoYes, experimental 114NoNo115NoNoNoNo
NOVAYesNoNoYesNoNoNo?
F2FSNoYes, experimental 116NoNoNoNoYesNo
LustreNoNoNoNoYesYesNoNo
NILFSYes, continuous117NoNoYesNoNoNoNo
ReiserFSNoNoNoNoNoNoNoNo
Reiser4?Yes118?NoNoNoYesNo
OCFSNoNoNoNoNoNoNoNo
OCFS2NoNoNoNoNoNoNoNo
XFSNoNoYes119No120NoNoNoNo
JFS?No?NoNoNoonly in JFS1 on AIX121No
QFSNoNoNoNoNoNoNoNo
BFSNoNoNoNoNoNoNoNo
NSSYesYes?NoNoNoYesNo
NWFS?No?NoNoNoYesNo
ODS-2YesNoNoNoNoNoNoNo
ODS-5YesNoNoNoNoNoNo
UDFNoNoNoNoNoNoNoNo
VxFSYes122NoYesNoNoNoNoNo
FossilYesNoYesNoNoNoYesNo
ZFSYesYes123YesYesYesYesYes124Yes
BtrfsYesNoYesYes125NoYesYes126Yes
BcachefsYesYesNoYes127NoYesYes128No
Minix V1NoNoNoNoNoNoNoNo
Minix V2NoNoNoNoNoNoNoNo
Minix V3NoNoNoNoNoNoNoNo
VMFS2NoNoNoNoNoNoNoNo
VMFS3NoNoNoNoNoNoNoNo
ReFSNo129NoYesNo130NoNoNo131No132
ISO 9660NoNoNo133NoNoNoNoNo
Rock RidgeNoNoNo134NoNoNoNoNo
Joliet ("CDFS")NoNoNo135NoNoNoNoNo
SquashFSNoNoYesYesNoNoYesNo
BlueStore/CephfsYesNoNoYesYesYesYesYes
File systemInternal snapshotting / branchingEncryptionDeduplicationData checksum/ ECCPersistent CacheMultiple DevicesCompressionSelf-healing136

Resize capabilities

"Online" and "offline" are synonymous with "mounted" and "not mounted".

File systemHost OSOffline growOnline growOffline shrinkOnline shrinkAdd and remove physical volumes
FAT16 / FAT16B / FAT16Xmisc.Yes137NoYes138NoNo
FAT32 / FAT32Xmisc.Yes139NoYes140NoNo
exFATmisc.NoNoNoNoNo
NTFSWindowsYesYesYesYesNo
ReFSWindows?Yes?NoNo
HFSmacOSNoNoNoNoNo
HFS+macOSNoYesNoYesNo
APFSmacOS?????
SquashFSLinuxNoNoNoNoNo
NOVALinuxNoNoNoNoNo
JFS141LinuxYesNoNoNoNo
XFS142LinuxNoYesNo143No144No
Lustre145Linux?YesNoNoYes
F2FS146LinuxYesNoNoNoNo
NTFS147LinuxYesNoYesNoNo
ext2148LinuxYesNoYesNoNo
ext3149LinuxYesYesYesNoNo
ReiserFS150LinuxYesYesYesNoNo
Reiser4151LinuxYesYesYesNoNo
ext4152LinuxYesYesYesNoNo
Btrfs153LinuxYesYesYesYesYes
Bcachefs154LinuxYesYesNoNoYes
NILFS155LinuxNoYesNoYesNo
ZFSmisc.NoYesNoYesPartial156
JFS2AIXYesYesYesYesNo
UFS2157FreeBSDYesYes (FreeBSD 10.0-RELEASE or later)NoNoNo
HAMMERDragonflyBSD?????
BlueStore/CephfsLinuxNoYesNoYesYes

Allocation and layout policies

File systemSparse filesBlock suballocationTail packingExtentsVariable file block size158Allocate-on-flushCopy on writeTrim support
DECtapeNoNoNoNoNoNoNoNo
BeeGFSYesNoNoYesYesYesYes?
Level-DNoNoNoYesNoNoNo?
APFSYes??Yes?YesYesYes159160
Version 6 Unix file system (V6FS)YesNoNoNoNoNo?No
Version 7 Unix file system (V7FS)YesNoNoNoNoNo?No
exFATNoNoNoPartial (only if the file fits into one contiguous block range)NoNoNoYes (Linux)
FAT12Partial (only inside of compressed volumes)161Partial (only inside of Stacker 3/4 and DriveSpace 3 compressed volumes162)NoPartial (only inside of compressed volumes)163NoNoNoYes (Linux)
FAT16 / FAT16B / FAT16XPartial (only inside of compressed volumes)164Partial (only inside of Stacker 3/4 and DriveSpace 3 compressed volumes165)NoPartial (only inside of compressed volumes)166NoNoNoYes (Linux)
FAT32 / FAT32XNoNoNoNoNoNoNoYes (Linux)
GFSYesNoPartial167NoNoNo?Yes
HPFSNoNoNoYesNoNo?Yes (Linux)
NTFSYesPartialNoYesNoNo?Yes (NT 6.1+; Linux)
HFS PlusNoNoNoYesNoNo?Yes (macOS)
FFSYes8:1168NoNoNoNo?No
UFS1Yes8:1169NoNoNoNo?No
UFS2Yes8:1170NoNoYesNo?Yes171172
LFSYes8:1173NoNoNoNoYes?
extYesNoNoNoNoNoNoNo
XiafsYesNoNoNoNoNo??
ext2YesNo174NoNoNoNoNoYes
ext3YesNo175NoNoNoNoNoYes
ext4YesNo176NoYesNoYesNoYes
NOVAYesNoNoYesNoNoYes?
F2FSYesNoNoPartial177NoYesYesYes178
LustreYesNoNoYesNoYes??
NILFSYesNoNoNoNoYesYesYes (Linux NILFS2)
ReiserFSYesYes179YesNoNoNo??
Reiser4YesYes180YesYes181NoYes?Testing182
OCFS?NoNoYesNoNo??
OCFS2YesNoNoYesNoNo?Yes (Linux)
XFSYesNoNoYesNoYesYes, on request183Yes (Linux)
JFSYesYesNoYesNoNo?Yes (Linux)
QFS?YesNoNoNoNo??
BFS?NoNoYesNoNo?Yes (Haiku)
NSS?NoNoYesNoYes??
NWFS?Yes184NoNoNoNo??
ODS-5?NoNoYesNoNo??
VxFSYes?NoYesNoNo??
UDFYesNoNoYesNo?185Yes, for write once read many mediaNo
Fossil?NoNoNoNoNo??
ZFSYesYesNoNoYesYesYesYes
BtrfsYesYesYesYesYesYesYesYes
Bcachefs???Yes?YesYes?
VMFS2YesYesNoNoNoNo??
VMFS3YesYesNoNoNoNo??
ReFSYes???No?YesYes (NT 6.1+)
ISO 9660NoNoNoYes186NoNoNoNo
Rock RidgeNoNoNoYes187NoNoNoNo
Joliet ("CDFS")NoNoNoYes188NoNoNoNo
SquashFSYesNoYesNoNoNoNoNo
BlueStore/CephfsYes????NoYesYes
File systemSparse filesBlock suballocationTail packingExtentsVariable file block size189Allocate-on-flushCopy on writeTrim support

OS support

File systemDOSLinuxmacOSWindows 9x (historic)Windows (current)ClassicMac OSFreeBSDOS/2BeOSMinixSolarisz/OSAndroid190
APFSNoPartial (read-only with apfs-fuse191 or linux-apfs192)Yes (Since macOS Sierra)NoNoNoNoNoNoNoNoNoNo
BeeGFSNoYes?NoNoNoNoNo???NoNo
DECtapeNoNoNoNoNoNoNoNoNoNoNoNoNo
Level-DNo??NoNoNoNoNoNoNo??No
RT-11NoNoNoNoNoNoNoNoNoNoNoNoNo
Version 6 Unix file system (V6FS)No?NoNoNoNoNoNoNoNoNoNoNo
Version 7 Unix file system (V7FS)NoYesNoNoNoNoNoNo???NoNo
exFATNoYes (since 5.4,193 available as a kernel module or FUSE driver for earlier versions)YesNoYesNoYes (available as a FUSE driver)NoNoNoYes (available as a FUSE driver)NoWith kernel 5.10
FAT12YesYesYesYesYesYesYesYesYesPartial (via dosdir, dosread, doswrite)Yes?Yes
FAT16 / FAT16B / FAT16XYes (FAT16 from DOS 3.0, FAT16B from DOS 3.31, FAT16X from DOS 7.0)YesYesYesYesYesYesYesYesPartial (via dosdir, dosread, doswrite, not FAT16X)Yes?Yes
FAT32 / FAT32XYes (from DOS 7.10)YesYesYes (from Windows 95 OSR2)Yes?YesYesYesNoYes?Yes
GFSNoYes?NoNoNoNo?????No
HPFSPartial (with third-party drivers)Yes?NoNo?YesYes (from OS/2 1.2)?No??No
NTFSPartial (with third-party drivers)Yes Native since Linux Kernel 5.15 NTFS3. Older kernels may use backported NTFS3 driver or ntfs-3g194Read only, write support needs Paragon NTFS or ntfs-3gNeeds 3rd-party drivers like Paragon NTFS for Win98, DiskInternals NTFS ReaderYesNoYes with ntfs-3g?Yes with ntfs-3gNoYes with ntfs-3g?With third party tools
Apple HFSNoYesNo write support since Mac OS X 10.6 and no support at all since macOS 10.15NoNeeds Paragon HFS+ 195YesNo?YesNo?NoNo
Apple HFS PlusNoPartial - writing support only to unjournalled FSYesNoNeeds Paragon HFS+ 196Yes from Mac OS 8.1No?with addonNo?NoNo
FFSNo?YesNo??Yes?????No
UFS1NoPartial - read onlyYesNoPartial (with ufs2tools, read only)?YesNo??Yes?No
UFS2NoYesYesNoPartial (with ufs2tools, read only)?YesNo????No
LFSNo??NoNo?NoNo????No
extNoYes - until 2.1.20NoNoNoNoNoNoNoNoNoNoNo
XiafsNoYes - until 2.1.20

Experimental port available to 2.6.32 and later 197198

NoNoNoNoNoNoNoNoNoNoNo
ext2NoYesNeeds Paragon ExtFS 199 or ext2fsxPartial (read-only, with explore2fs)200Needs Paragon ExtFS 201 or partial with Ext2 IFS202 or ext2fsd203NoYesNoYes???No
ext3NoYesNeeds Paragon ExtFS 204 or partial with ext2fsx (journal not updated on writing)Partial (read-only, with explore2fs)205Needs Paragon ExtFS 206 or partial with Ext2 IFS207 or ext2fsd208Partial (read only)Yes209Nowith addon?Yes?Yes
ext4NoYesNeeds Paragon ExtFS 210NoYes, with the optional WSL2; physical and VHDX virtual disks.211212?Yes since FreeBSD 12.0213Nowith addon???Yes
NOVANoYesNoNoNoNoNoNoNoNoNoNoNo
LustreNoYes214?NoNo?No???Yes?No
NILFSNoYes as an external kernel module?No??No?????No
F2FSNoYesNoNoNoNoNoNoNoNoNoNoYes
ReiserFSNoYes?NoNo?Partial - Read Only from 6.0 to 10.x215 and dropped in 11.0216217?with addon???No
Reiser4NoYes with a kernel patch?NoNo?No?????No
SpadFSNoYesNoNoNoNo?NoNoNoNoNoNo
OCFSNoYes?NoNo?NoNo????No
OCFS2NoYes?NoNo?NoNo????No
XFSNoYes?NoNo?Partial?with addon (read only)???No
JFSNoYes?NoNo?NoYes????No
QFSNoPartial - client only218?NoNo?NoNo??Yes?No
Be File SystemNoPartial - read-only?NoNo?NoNoYes???No
NSSNoYes via EVMS219?NoNo?NoNo????No
NWFSPartial (with Novell drivers)??NoNo?YesNo????No
ODS-2No??NoNo?NoNo????No
ODS-5No??NoNo?NoNo????No
UDFNoYesYes?Yes?Yes???Yes?No
VxFSNoYes?NoNo?NoNo??Yes?No
FossilNoYes220Yes221NoNoNoYes222NoNoNoYes223?No
ZFSNoYes with FUSE224 or as an external kernel module225Yes with Read/Write Developer Preview226NoYes227NoYesNoNoNoYesNoNo
BtrfsNoYes?NoYes with WinBtrfs228?No?????No
BcachefsNoYesNoNoNoNoNoNoNoNoNoNoNo
VMFS2No??NoNo?NoNo????No
VMFS3No??NoNo?NoNo????No
IBM HFSNoNoNoNoNoNoNoNoNoNoNoYesNo
IBM zFSNoNoNoNoNoNoNoNoNoNoNoYesNo
ReFSNoNeeds Paragon ReFS for Linux?NoYes???????No
ISO 9660YesYesYesYesYesYesYesYesYesYesYesYesNo
Rock RidgeNoYesYesNoNoNoYesNoNoYesYes?No
Joliet ("CDFS")NoYesYesYesYes?YesYesYes?Yes?No
SquashFSNoYesPartial (There are ports of unsquashfs and mksquashfs.)NoPartial (There are ports of unsquashfs and mksquashfs.)NoPartial (There are ports of unsquashfs and mksquashfs and fusefs-port.229230)NoNoNoNoNoNo
BlueStore/CephfsNoYesNo231NoNo232NoNo233NoNoNoNoNoNo
File systemDOSLinuxmacOSWindows 9x (historic)Windows (current)ClassicMac OSFreeBSDOS/2BeOSMinixSolarisz/OSAndroid

Limits

While storage devices usually have their size expressed in powers of 10 (for instance a 1 TB Solid State Drive will contain at least 1,000,000,000,000 (1012, 10004) bytes), filesystem limits are invariably powers of 2, so usually expressed with IEC prefixes. For instance, a 1 TiB limit means 240, 10244 bytes. Approximations (rounding down) using power of 10 are also given below to clarify.

File systemMaximum filename lengthAllowable characters in directory entries234Maximum pathname lengthMaximum file sizeMaximum volume size235Max number of files
AdvFS255 charactersAny byte except NUL236No limit defined23716 TiB (17.59 TB)16 TiB (17.59 TB)?
APFS255 UTF-8 charactersUnicode 9.0 encoded in UTF-8238?EiB (9.223 EB)?263 239
Bcachefs255 bytesAny byte except '/' and NULNo limit defined16 EiB (18.44 EB)16 EiB (18.44 EB)264
BeeGFS255 bytesAny byte except NUL240No limit defined24116 EiB (18.44 EB)16 EiB (18.44 EB)?
BFS255 bytesAny byte except NUL242No limit defined24312,288 bytes to 260 GiB (279.1 GB)244256 PiB (288.2 PB) to 2 EiB (2.305 EB)Unlimited
BlueStore/Cephfs255 charactersany byte, except null, "/"No limit definedMax. 264 bytes, 1 TiB (1.099 TB) by default 245Not limitedNot limited, default is 100,000 files per directory 246
Btrfs255 bytesAny byte except '/' and NULNo limit defined16 EiB (18.44 EB)16 EiB (18.44 EB)264
CBM DOS16 bytesAny byte except NUL0 (no directory hierarchy)16 MiB (16.77 MB)16 MiB (16.77 MB)?
CP/M file system8.3ASCII except for < > . , ; : = ? * [ ]No directory hierarchy (but accessibility of files depends on user areas via USER command since CP/M 2.2)32 MiB (33.55 MB)512 MiB (536.8 MB)?
DECtape6.3A–Z, 0–9DTxN:FILNAM.EXT = 15369,280 bytes(577 × 640)369,920 bytes(578 × 640)?
Disk Operating System (GEC DOS)???? at least 131,072 bytes??
Elektronika BK tape format16 bytes?No directory hierarchy64 KiB (65.53 KB)Not limited. Approx. 800 KiB (819.2 KB) (one side) for 90 min cassette?
exFAT255 UTF-16 charactersUnicode except for control codes 0x0000 - 0x001F or " * / : < > ? \ | 24732,760 characters with each path component no more than 255 characters24816 EiB (18.44 EB)24964 ZiB (75.55 ZB) (276 bytes)?
ext255 bytesAny byte except NUL250No limit defined251GiB (2.147 GB)GiB (2.147 GB)?
ext2255 bytesAny byte except NUL, /252No limit defined25316 GiB (17.17 GB) to 2 TiB (2.199 TB)254TiB (2.199 TB) to 32 TiB (35.18 TB)?
ext3255 bytesAny byte except NUL, /255No limit defined25616 GiB (17.17 GB) to 2 TiB (2.199 TB)257TiB (2.199 TB) to 32 TiB (35.18 TB)?
ext4255 bytes258Any byte except NUL, /259No limit defined26016 GiB (17.17 GB) to 16 TiB (17.59 TB)261262EiB (1.152 EB)232 (static inode limit specified at creation)
F2FS255 bytesAny byte except NUL, /263No limit defined2644,228,213,756 KiB (4.329 TB)16 TiB (17.59 TB)?
FAT (8-bit)6.3 (binary files) / 9 characters (ASCII files)ASCII (0x00 and 0xFF not allowed in first character)No directory hierarchy???
FAT12/FAT168.3 (255 UCS-2 characters with LFN)265SFN: OEM A-Z, 0-9, ! # $ % & ' ( ) - @ ^ _ ` { } ~, 0x80-0xFF, 0x20. LFN: Unicode except NUL, " * / : < > ? \ | 266267No limit defined26832 MiB (33.55 MB) (4 GiB (4.294 GB))269MiB (1.048 MB) to 32 MiB (33.55 MB)?
FAT16B/FAT16X8.3 (255 UCS-2 characters with LFN)270SFN: OEM A-Z, 0-9, ! # $ % & ' ( ) - @ ^ _ ` { } ~, 0x80-0xFF, 0x20. LFN: Unicode except NUL, " * / : < > ? \ | 271272273No limit defined2742 (4) GiB275 (2.147 GB)16 MiB (16.77 MB) to 2 (4) GiB (2.147 GB)?
FAT32/FAT32X8.3 (255 UCS-2 characters with LFN)276SFN: OEM A-Z, 0-9, ! # $ % & ' ( ) - @ ^ _ ` { } ~, 0x80-0xFF, 0x20. LFN: Unicode except NUL, " * / : < > ? \ | 27727827932,760 characters with each path component no more than 255 characters280GiB (4.294 GB)281512 MiB (536.8 MB) to 16 TiB (17.59 TB)282?
FATX42 bytes283ASCII.No limit defined284GiB (2.147 GB)16 MiB (16.77 MB) to 2 GiB (2.147 GB)?
FFS255 bytesAny byte except NUL285No limit defined286GiB (4.294 GB)256 TiB (281.4 TB)?
Fossil??????
GEC DOS filing system extended8 bytesA–Z, 0–9. Period was directory separator? No limit defined (workaround for OS limit)? at least 131,072 bytes??
GEMDOS8.3A-Z, a-z, 0-9 ! @ # $ % ^ & ( ) + - = ~ ` ; ' " , < > | [ ] ( ) _287????
GFS2255 bytesAny byte except NUL288No limit defined289100 TiB (109.95 TB) to 8 EiB (9.223 EB)290100 TiB (109.95 TB) to 8 EiB (9.223 EB)291?
GFS255 bytesAny byte except NUL292No limit defined293TiB (2.199 TB) to 8 EiB (9.223 EB)294TiB (2.199 TB) to 8 EiB (9.223 EB)295?
GPFS255 UTF-8 codepointsAny byte except NUL296No limit defined2979 EiB (10.37 EB)524,288 YiB (299 bytes)?
HAMMER1023 bytes298Any byte except NUL299??EiB (1.152 EB)300?
HFS31 bytesAny byte except :UnlimitedGiB (2.147 GB)TiB (2.199 TB)?
HFS Plus255 UTF-16 characters301Any valid Unicode302303Unlimitedslightly less than 8 EiB (9.223 EB)slightly less than 8 EiB (9.223 EB)304305?
High Sierra Format??????
HPFS255 bytesAny byte except NUL306No limit defined307GiB (2.147 GB)TiB (2.199 TB)308?
IBM SFS8.8??Non-hierarchical309??
ISO 9660:1988Level 1: 8.3,Level 2 & 3: ~ 180Depends on Level310~ 180 bytes?GiB (4.294 GB) (Level 1 & 2) to 8 TiB (8.796 TB) (Level 3)311TiB (8.796 TB)312?
ISO 9660:1999??????
JFS255 bytesAny Unicode except NULNo limit defined313PiB (4.503 PB)32 PiB (36.02 PB)?
JFS1255 bytesAny byte except NUL314No limit defined315EiB (9.223 EB)512 TiB (562.9 TB) to 4 PiB (4.503 PB)?
Joliet ("CDFS")64 charactersAll UCS-2 code except *, /, \, :, ;, and ?316?same as ISO 9660:1988same as ISO 9660:1988?
Level-D6.3A–Z, 0–9DEVICE:FILNAM.EXT[PROJCT,PROGRM] = 7 + 10 + 15 = 32; + 5*7 for SFDs = 6734,359,738,368 words (235); 206,158,430,208 SIXBIT bytesApprox 12 GiB (12.88 GB) (64 × 178 MiB (186.6 MB))?
Lustre255 bytesAny byte except NUL317No limit defined31816 EiB (18.44 EB) on ZFS16 EiB (18.44 EB)?
MFS255 bytesAny byte except :No path (flat filesystem)256 MiB (268.4 MB)256 MiB (268.4 MB)?
MicroDOS file system14 bytes??16 MiB (16.77 MB)32 MiB (33.55 MB)?
Minix V1 FS14 or 30 bytes, set at filesystem creation timeAny byte except NUL319No limit defined320256.5 MiB (268.9 MB) 32164 MiB (67.10 MB)?
Minix V2 FS14 or 30 bytes, set at filesystem creation timeAny byte except NUL322No limit defined323GiB (2.147 GB) 324GiB (1.073 GB)?
Minix V3 FS60 bytesAny byte except NUL325No limit defined326GiB (2.147 GB)GiB (4.294 GB)?
NILFS255 bytesAny byte except NUL327No limit defined328EiB (9.223 EB)EiB (9.223 EB)?
NOVA255 bytesAny byte except NUL, /329No limit defined33016 EiB (18.44 EB)16 EiB (18.44 EB)?
NSS256 charactersDepends on namespace used331Only limited by clientTiB (8.796 TB)TiB (8.796 TB)?
NTFS255 charactersIn 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 NUL332

32,767 characters with each path component (directory or filename) up to 255 characters long33316 TiB (17.59 TB) to 8 PiB (9.007 PB)33433516 TiB (17.59 TB) to 8 PiB (9.007 PB)336337232
NWFS80 bytes338Depends on namespace used339No limit defined340GiB (4.294 GB)TiB (1.099 TB)?
OCFS255 bytesAny byte except NUL341No limit defined342TiB (8.796 TB)TiB (8.796 TB)?
OCFS2255 bytesAny byte except NUL343No limit defined344PiB (4.503 PB)PiB (4.503 PB)?
ODS-5236 bytes345?4,096 bytes346TiB (1.099 TB)TiB (1.099 TB)?
QFS255 bytesAny byte except NUL347No limit defined34816 EiB (18.44 EB)349PiB (4.503 PB)350?
ReFS255 UTF-16 characters351In 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 NUL352353

32,767 characters with each path component (directory or filename) up to 255 characters long35416 EiB (18.44 EB)355356YiB (1.208 YB)357?
ReiserFS4,032 bytes/255 charactersAny byte except NUL or '/'358No limit defined359TiB (8.796 TB)360 (v3.6), 4 GiB (4.294 GB) (v3.5)16 TiB (17.59 TB)?
Reiser43,976 bytesAny byte except / and NULNo limit defined361TiB (8.796 TB) on x86??
Rock Ridge255 bytesAny byte except NUL or /362No limit defined363same as ISO 9660:1988same as ISO 9660:1988?
RT-116.3A–Z, 0–9, $0 (no directory hierarchy)33,554,432 bytes(65536 × 512)33,554,432 bytes?
SquashFS256 bytes?No limit defined16 EiB (18.44 EB)16 EiB (18.44 EB)?
UDF255 bytesAny Unicode except NUL1,023 bytes36416 EiB (18.44 EB)512 MiB (536.8 MB) to 16 TiB (17.59 TB)?
UFS1255 bytesAny byte except NUL365No limit defined36616 GiB (17.17 GB) to 256 TiB (281.4 TB)16 EiB (18.44 EB)Subdirectory per directory is 32,767367
UFS2255 bytesAny byte except NUL368No limit defined369512 GiB (549.7 GB) to 32 PiB (36.02 PB)512 ZiB (604.4 ZB)370 (279 bytes)Subdirectory per directory is 32,767371
UniFSNo limit defined (depends on client)?No limit defined (depends on client)Available cache space at time of write (depends on platform)No limit definedNo limit defined
VaultFSconfigurable (1024 default)Any byte except NULNo limit definedNo limit definedNo limit definedNo limit defined
Version 6 Unix file system (V6FS)14 bytesAny byte except NUL and /372No limit defined37316 MiB (16.77 MB)37432 MiB (33.55 MB)?
Version 7 Unix file system (V7FS)14 bytesAny byte except NUL or /375No limit defined376GiB (1.073 GB)377TiB (2.199 TB)?
VMFS2128Any byte except NUL or /3782,048TiB (4.398 TB)37964 TiB (70.36 TB)?
VMFS3128Any byte except NUL or /3802,048TiB (2.199 TB)38164 TiB (70.36 TB)?
VxFS255 bytesAny byte except NUL382No limit defined38316 EiB (18.44 EB)??
XFS255 bytes384Any byte except NUL or /385No limit defined386EiB (9.223 EB)387EiB (9.223 EB)388264
Xiafs248 bytesAny byte except NUL389No limit defined39064 MiB (67.10 MB)GiB (2.147 GB)?
ZFS1023 bytesAny Unicode except NULNo limit defined39116 EiB (18.44 EB)281,474,976,710,656 YiB (2128 bytes)2128
File systemMaximum filename lengthAllowable characters in directory entries392Maximum pathname lengthMaximum file sizeMaximum volume size393Max number of files

See also

Notes

References

  1. Shustek, Len (2016-08-02). "In His Own Words: Gary Kildall". Remarkable People. Computer History Museum. http://www.computerhistory.org/atchm/in-his-own-words-gary-kildall/

  2. Kildall, Gary Arlen (2016-08-02) [1993]. Kildall, Scott; Kildall, Kristin (eds.). "Computer Connections: People, Places, and Events in the Evolution of the Personal Computer Industry" (Manuscript, part 1). Kildall Family. Retrieved 2016-11-17. /wiki/Gary_Kildall

  3. Mace, Scott (1986-09-22). "Extensions to MS-DOS Run CD-ROM". InfoWorld. 8 (38): 1, 8. Retrieved 2016-11-09. https://books.google.com/books?id=ZS8EAAAAMBAJ&pg=PA1

  4. 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. /wiki/IBM_AIX

  5. Warren, David (20 October 1993). "Polycenter File System - - HELP". Archived from the original on 9 March 2012. https://web.archive.org/web/20120309144054/http://www.ornl.gov/lists/mailing-lists/tru64-unix-managers/1993/10/msg00043.html

  6. 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. /wiki/Microsoft

  7. "Sun Microsystems Expands High Performance Computing Portfolio with Definitive Agreement to Acquire Assets of Cluster File Systems, Including the Lustre File System" (Press release). Santa Clara, Calif.: Sun Microsystems, Inc. 12 September 2007. Archived from the original on 2 October 2007. https://web.archive.org/web/20071002091821/http://www.sun.com/aboutsun/pr/2007-09/sunflash.20070912.2.xml

  8. Matthew Dillon (2018-12-09). "hammer2/DESIGN". BSD Cross Reference. DragonFly BSD. Retrieved 2019-03-06. /wiki/Matthew_Dillon_(computer_scientist)

  9. "Huawei announces the EROFS Linux file system intended for Android devices". XDA Developer. June 1, 2018. https://www.xda-developers.com/huawei-erofs-linux-file-system-android/

  10. Implemented in later versions as an extension

  11. "RT–11 Volume and File Formats Manual" (PDF). Digital Equipment Corporation. August 1991. pp. 1–26 .. 1–32. http://bitsavers.trailing-edge.com/pdf/dec/pdp11/rt11/v5.6_Aug91/AA-PD6PA-TC_RT-11_Volume_and_File_Formats_Manual_Aug91.pdf

  12. "RT–11 Volume and File Formats Manual" (PDF). Digital Equipment Corporation. August 1991. pp. 1–4 .. 1–12. http://bitsavers.trailing-edge.com/pdf/dec/pdp11/rt11/v5.6_Aug91/AA-PD6PA-TC_RT-11_Volume_and_File_Formats_Manual_Aug91.pdf

  13. "Format of the Unix 6 file system" (PDF). Archived from the original (PDF) on 2016-09-21. Retrieved 2016-02-21. https://web.archive.org/web/20160921012843/http://www.utdallas.edu/~venky/os/Proj/disk.pdf

  14. See dinode structure on page 355 (FILESYS(5)) of "Unix Programmers Manual" (PDF) (Seventh ed.). Murray Hill, New Jersey: Bell Telephone Laboratories. January 1979. Retrieved 2016-02-21. http://web.cuzuco.com/~cuzuco/v7/v7vol1.pdf

  15. 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.

  16. 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. /wiki/Installable_File_System

  17. The f-node contains a field for a user identifier. This is not used except by OS/2 Warp Server, however. /wiki/OS/2

  18. 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. /wiki/Access_control_list

  19. As of Vista, NTFS has support for Mandatory Labels, which are used to enforce Mandatory Integrity Control.[12] /wiki/Mandatory_Integrity_Control

  20. Initially, ReFS lacked support for ADS, but Server 2012 R2 and up add support for ADS on ReFS

  21. Access-control lists and MAC labels are layered on top of extended attributes.

  22. Access-control lists and MAC labels are layered on top of extended attributes.

  23. Some operating systems implemented extended attributes as a layer over UFS1 with a parallel backing file (e.g., FreeBSD 4.x). /wiki/UFS1_(file_system)

  24. Access-control lists and MAC labels are layered on top of extended attributes.

  25. Access-control lists and MAC labels are layered on top of extended attributes.

  26. 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. /wiki/Installable_File_System

  27. 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. /wiki/Installable_File_System

  28. 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. /wiki/Installable_File_System

  29. 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. /wiki/Installable_File_System

  30. 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. /wiki/Installable_File_System

  31. 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. /wiki/Installable_File_System

  32. Metadata is mostly checksummed,[13] however Direct/indirect/triple-indirect block maps are not protected by checksums[14]

  33. 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. /wiki/Installable_File_System

  34. 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. /wiki/Installable_File_System

  35. 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. /wiki/Installable_File_System

  36. 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. /wiki/Installable_File_System

  37. 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. /wiki/Installable_File_System

  38. 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. /wiki/Installable_File_System

  39. Creation time stored since June 2015, xfsprogs version 3.2.3

  40. 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. /wiki/Installable_File_System

  41. The local time, time zone/UTC offset, and date are derived from the time settings of the reference/single timesync source in the NDS tree. /wiki/UTC

  42. The local time, time zone/UTC offset, and date are derived from the time settings of the reference/single timesync source in the NDS tree. /wiki/UTC

  43. The local time, time zone/UTC offset, and date are derived from the time settings of the reference/single timesync source in the NDS tree. /wiki/UTC

  44. 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.

  45. 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. /wiki/Novell_Directory_Services

  46. The local time, time zone/UTC offset, and date are derived from the time settings of the reference/single timesync source in the NDS tree. /wiki/UTC

  47. The local time, time zone/UTC offset, and date are derived from the time settings of the reference/single timesync source in the NDS tree. /wiki/UTC

  48. The local time, time zone/UTC offset, and date are derived from the time settings of the reference/single timesync source in the NDS tree. /wiki/UTC

  49. 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.

  50. 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. /wiki/Novell_Directory_Services

  51. Record Management Services (RMS) attributes include record type and size, among many others.

  52. 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. /wiki/Installable_File_System

  53. 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. /wiki/9P_(protocol)

  54. Supported on FreeBSD and Linux implementations, support may not be available on all operating systems.

  55. Solaris "extended attributes" are really full-blown alternate data streams, in both the Solaris UFS and ZFS.

  56. Access times are preserved from the original file system at creation time, but Rock Ridge file systems themselves are read-only.

  57. libburnia can back up and restore ACLs with file system creation and extraction programs, but no kernel support exists. /wiki/Libburnia

  58. libburnia can back up and restore extended attributes and MAC labels with file system creation and extraction programs, but no kernel support exists. /wiki/Libburnia

  59. libburnia can back up and restore extended attributes and MAC labels with file system creation and extraction programs, but no kernel support exists. /wiki/Libburnia

  60. 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. /wiki/Unix

  61. 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

  62. Optional journaling of data

  63. As of Windows Vista, NTFS fully supports symbolic links.[15] 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.

  64. NTFS stores everything, even the file data, as meta-data, so its log is closer to block journaling.

  65. NTFS stores everything, even the file data, as meta-data, so its log is closer to block journaling.

  66. 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. /wiki/Services_for_Unix

  67. Siracusa, John (2011-07-20). "Mac OS X 10.7 Lion: the Ars Technica review". Ars Technica. Retrieved 14 December 2017. 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. https://arstechnica.com/gadgets/2011/07/mac-os-x-10-7/12/#hfs-problems

  68. 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.

  69. 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.[17] 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.[18][19]

  70. 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).[20]

  71. "Soft dependencies" (softdep) in NetBSD, called "soft updates" in FreeBSD provide meta-data consistency at all times without double writes (journaling) /wiki/Soft_dependencies

  72. McKusick, Marshall Kirk; Roberson, Jeff. "Journaled Soft-updates" (PDF). https://www.mckusick.com/softdep/suj.pdf

  73. Journaled Soft Updates (SU+J) are the default as of FreeBSD 9.x-RELEASE [22][23]

  74. UDF, LFS, and NILFS are log-structured file systems and behave as if the entire file system were a journal. /wiki/Log-structured_file_system

  75. Linux kernel versions 2.6.12 and newer.

  76. Off by default.

  77. Off by default.

  78. "EXT4 Case-Insensitive Directories/File-Name Lookups Coming With Linux 5.2". https://www.phoronix.com/scan.php?page=news_item&px=EXT4-Case-Insensitive-Linux-5.2

  79. "2. High Level Design — The Linux Kernel documentation § 2.10. Inline Data". www.kernel.org. Retrieved 2022-12-24. https://www.kernel.org/doc/html/latest/filesystems/ext4/overview.html#inline-data

  80. UDF, LFS, and NILFS are log-structured file systems and behave as if the entire file system were a journal. /wiki/Log-structured_file_system

  81. Off by default.

  82. UDF, LFS, and NILFS are log-structured file systems and behave as if the entire file system were a journal. /wiki/Log-structured_file_system

  83. Full block journaling for ReiserFS was added to Linux 2.6.8.

  84. Off by default.

  85. Optionally no on IRIX and Linux.

  86. 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. /wiki/Installable_File_System

  87. 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.

  88. 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.

  89. 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.[26]

  90. Available only in the "NFS" namespace.

  91. Available only in the "NFS" namespace.

  92. 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.

  93. 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.

  94. 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.[26]

  95. These are referred to as "aliases".

  96. These are referred to as "aliases".

  97. UDF, LFS, and NILFS are log-structured file systems and behave as if the entire file system were a journal. /wiki/Log-structured_file_system

  98. UDF, LFS, and NILFS are log-structured file systems and behave as if the entire file system were a journal. /wiki/Log-structured_file_system

  99. "Universal Disk Format Specification – Revision 2.60" (PDF). p. 34. This file, when small, can be embedded in the [Information Control Block] that describes it. http://www.osta.org/specs/pdf/udf260.pdf

  100. 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.

  101. 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.

  102. "zpool-features.7 - OpenZFS documentation". openzfs.github.io. Retrieved 2024-09-23. https://openzfs.github.io/openzfs-docs/man/master/7/zpool-features.7.html#embedded_data

  103. Btrfs is a transactional filesystem using copy-on-write semantics, guaranteeing an always-consistent on-disk state without the use of a traditional journal. It keeps track of last five transactions and uses checksums to find problematic drives, making write intent logs unnecessary.

  104. Bcachefs is a transactional filesystem using copy-on-write semantics, guaranteeing an always-consistent on-disk state without the use of a traditional journal. Journal commits are fairly expensive operations as they require issuing FLUSH and FUA operations to the underlying devices. By default, a journal flush is issued one second after a filesystem update has been done, which primarily records btree updates ordered by when they occurred. This option may be useful on a personal workstation or laptop, and perhaps less appropriate on a server.

  105. Since Windows 10 Enterprise Insider Preview build 19536

  106. 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. /wiki/Services_for_Unix

  107. A file system is self-healing if its capable to proactively autonomously detect and correct all but grave errors, faults and corruptions online both in internal metadata AND data. See US7694191B1 as example. This usually requires full checksumming as well as internal redundancy as well as corresponding logic.

  108. "clonefile(2)". The cloned file dst shares its data blocks with the src file [..] http://www.manpagez.com/man/2/clonefile/

  109. only inside of Stacker 3/4 and DriveSpace 3 compressed volumes[30] /wiki/Stacker_3

  110. only inside of Stacker 3/4 and DriveSpace 3 compressed volumes[30] /wiki/Stacker_3

  111. Supported only on Windows Server SKUs. However, partitions deduplicated on Server can be used on Client.

  112. "About Data Deduplication". 31 May 2018. https://msdn.microsoft.com/en-us/library/hh769303(v=vs.85).aspx

  113. 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. /wiki/FileVault

  114. "Ext4 encryption". https://lwn.net/Articles/639427/

  115. "Red Hat: What is bitrot?". https://www.redhat.com/en/blog/what-bit-rot-and-how-can-i-detect-it-rhel

  116. "F2FS encryption". https://lwn.net/Articles/677620/

  117. UDF, LFS, and NILFS are log-structured file systems and behave as if the entire file system were a journal. /wiki/Log-structured_file_system

  118. Reiser4 supports transparent compression and encryption with the cryptcompress plugin which is the default file handler in version 4.1.

  119. "mkfs.xfs(8) from xfsprogs 5.10.0-4". By default, mkfs.xfs [..] will enable the reflink [=deduplication] feature. https://manpages.debian.org/bullseye/xfsprogs/mkfs.xfs.8.en.html

  120. "Red Hat: What is bitrot?". https://www.redhat.com/en/blog/what-bit-rot-and-how-can-i-detect-it-rhel

  121. "JFS data compression". IBM. Retrieved 2020-07-26. https://www.ibm.com/support/knowledgecenter/en/ssw_aix_71/devicemanagement/jfsdatacomp.html

  122. VxFS provides an optional feature called "Storage Checkpoints" which allows for advanced file system snapshots.

  123. Applies to proprietary ZFS release 30 and ZFS On Linux. Encryption support is not yet available in all OpenZFS ports.[37][38][39] /wiki/OpenZFS

  124. LZJB (optimized for performance while providing decent data compression)LZ4 (faster & higher ratio than lzjb)gzip levels: 1 (fastest) to 9 (best), default is 6zstd positive: 1 (fastest) to 19 (best), default is 3zstd negative: 1(best & default)-10, 20, 30, …, 100, 500, 1000(fastest)zle: compresses runs of zeros.[40] /wiki/LZJB

  125. disabling copy-on-write (COW) to prevent fragmentation also disables data checksumming

  126. zlib levels: 1 to 9, default is 3LZO (no levels) faster than ZLIB, worse ratiozstd levels: 1 to 15, default is 3 (higher levels are not available)[41] /wiki/Zlib

  127. noneCRC-32C (default)crc64chacha20/poly1305 (When encryption is enabled. Encryption can only be specified for the entire filesystem, not per file or directory)[42] /wiki/Cyclic_redundancy_check#Standards_and_common_use

  128. none (default)The three currently supported algorithms are gzip, LZ4, zstd.The compression level may also be optionally specified, as an integer between 0 and 15, e.g. lz4:15. 0 specifies the default compression level, 1 specifies the fastest and lowest compression ratio, and 15 the slowest and best compression ratio.[43] /wiki/Gzip

  129. * 3.7: Added file-level snapshot (only available in Windows Server 2022).[44] /wiki/Windows_Server_2022

  130. By using the per-file "integrity stream" that internally stores a checksum per cluster. Those per cluster checksums are not accessible so it is actually a per file feature and not a per block feature. Integrity streams are not enabled by default.[45]

  131. * 3.9: Added post process compression with LZ4 and ZSTD and transparent decompression. /wiki/LZ4_(compression_algorithm)

  132. By using the per-file "integrity stream" that internally stores a checksum per cluster. Those per cluster checksums are not accessible so it is actually a per file feature and not a per block feature. Integrity streams are not enabled by default.[45]

  133. 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.

  134. 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.

  135. 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.

  136. A file system is self-healing if its capable to proactively autonomously detect and correct all but grave errors, faults and corruptions online both in internal metadata AND data. See US7694191B1 as example. This usually requires full checksumming as well as internal redundancy as well as corresponding logic.

  137. With software based on GNU Parted. /wiki/GNU_Parted

  138. With software based on GNU Parted. /wiki/GNU_Parted

  139. With software based on GNU Parted. /wiki/GNU_Parted

  140. With software based on GNU Parted. /wiki/GNU_Parted

  141. "IBM's Journaled File System (JFS) for Linux". https://www.kernel.org/doc/Documentation/filesystems/jfs.txt

  142. "Growing an XFS File System". https://docs.oracle.com/cd/E37670_01/E37355/html/ol_grow_xfs.html

  143. "Shrinking Support - xfs.org". XFS Wiki. 2022-07-17. Archived from the original on 2022-07-17. Retrieved 2022-12-18. https://web.archive.org/web/20220717073119/http://xfs.org/index.php/Shrinking_Support

  144. "Shrinking Support - xfs.org". XFS Wiki. 2022-07-17. Archived from the original on 2022-07-17. Retrieved 2022-12-18. https://web.archive.org/web/20220717073119/http://xfs.org/index.php/Shrinking_Support

  145. "Frequently Asked Questions (Old Wiki)". Retrieved 5 May 2018. http://wiki.lustre.org/Frequently_Asked_Questions_(Old_Wiki)

  146. "Kernel/Git/Jaegeuk/F2fs-tools.git - Userland tools for the f2fs filesystem". https://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/

  147. "ntfsresize(8)". http://linux.die.net/man/8/ntfsresize

  148. resize2fs(8) – Linux Programmer's Manual – Administration and Privileged Commands https://manned.org/resize2fs.8

  149. resize2fs(8) – Linux Programmer's Manual – Administration and Privileged Commands https://manned.org/resize2fs.8

  150. "Resizing File Systems". https://www.suse.com/documentation/sles11/stor_admin/data/biuymaa.html

  151. "Resize reiserfs". Reiserfs wiki. https://reiser4.wiki.kernel.org/index.php/Resize_reiserfs

  152. resize2fs(8) – Linux Programmer's Manual – Administration and Privileged Commands https://manned.org/resize2fs.8

  153. "Just Enough Operating System (JeOS): Technical Information | SUSE". www.suse.com. Retrieved 28 April 2018. https://www.suse.com/products/server/technical-information/

  154. Overstreet, Kent (18 Dec 2021). "bcachefs: Principles of Operation" (PDF). Retrieved 10 May 2023. https://bcachefs.org/bcachefs-principles-of-operation.pdf

  155. "nilfs-resize(8)". http://nilfs.sourceforge.net/en/man8/nilfs-resize.8.html

  156. 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. "MAN Pages zpool-remove.8". https://openzfs.github.io/openzfs-docs/man/master/8/zpool-remove.8.html

  157. "Resizing and Growing Disks". https://www.freebsd.org/doc/handbook/disks-growing.html

  158. 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. /wiki/Extent_(file_systems)

  159. "Mac users, meet APFS: macOS's new file system - ZDNet". ZDNet. https://www.zdnet.com/article/wwdc-2017-macoss-new-file-system/

  160. "Apple File System Guide - FAQ". https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/APFS_Guide/FAQ/FAQ.html

  161. "CVF Region: MDFAT". http://www.techhelpmanual.com/808-cvf_region__mdfat.html

  162. "DMSDOS CVF module" (dmsdoc.doc). 0.9.2.0. 1998-11-19. Archived from the original on 2016-11-02. Retrieved 2016-11-01. 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. http://cmp.felk.cvut.cz/~pisa/dmsdos/dmsdos.html

  163. "Mapping DOS FAT to MDFAT". http://www.techhelpmanual.com/814-mapping_dos_fat_to_mdfat.html

  164. "CVF Region: MDFAT". http://www.techhelpmanual.com/808-cvf_region__mdfat.html

  165. "DMSDOS CVF module" (dmsdoc.doc). 0.9.2.0. 1998-11-19. Archived from the original on 2016-11-02. Retrieved 2016-11-01. 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. http://cmp.felk.cvut.cz/~pisa/dmsdos/dmsdos.html

  166. "Mapping DOS FAT to MDFAT". http://www.techhelpmanual.com/814-mapping_dos_fat_to_mdfat.html

  167. Only for "stuffed" inodes

  168. Other block:fragment size ratios supported; 8:1 is typical and recommended by most implementations.

  169. Other block:fragment size ratios supported; 8:1 is typical and recommended by most implementations.

  170. Other block:fragment size ratios supported; 8:1 is typical and recommended by most implementations.

  171. "[base] Revision 216796". https://svnweb.freebsd.org/base?view=revision&revision=216796

  172. "Newfs(8)". https://www.freebsd.org/cgi/man.cgi?query=newfs&sektion=8&manpath=FreeBSD+8.4-RELEASE

  173. Other block:fragment size ratios supported; 8:1 is typical and recommended by most implementations.

  174. Fragments were planned, but never actually implemented on ext2 and ext3.

  175. Fragments were planned, but never actually implemented on ext2 and ext3.

  176. Fragments were planned, but never actually implemented on ext2 and ext3.

  177. Stores one largest extent in disk, and caches multiple extents in DRAM dynamically.

  178. Jaeguk Kim (2014-09-22). "[PATCH 2/3] f2fs: Introduce FITRIM in f2fs_ioctl". linux-kernel (Mailing list). https://lkml.org/lkml/2014/09/23/32

  179. Tail packing is technically a special case of block suballocation where the suballocation unit size is always 1 byte.

  180. Tail packing is technically a special case of block suballocation where the suballocation unit size is always 1 byte.

  181. In "extents" mode.

  182. "Reiser4 discard support". Reiser4 FS Wiki. https://reiser4.wiki.kernel.org/index.php/Reiser4_discard_support

  183. "XFS Adds Shared Data Extents For Linux 4.9". https://www.phoronix.com/scan.php?page=news_item&px=XFS-Linux-4.9-Shared-Extents

  184. 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.

  185. Depends on UDF implementation.

  186. ISO 9660 Level 3 only

  187. ISO 9660 Level 3 only

  188. ISO 9660 Level 3 only

  189. 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. /wiki/Extent_(file_systems)

  190. Android Kernel File System Support (Documentation). Android Open Source Project. Retrieved 2023-01-11. https://source.android.com/docs/core/architecture/android-kernel-file-system-support

  191. "GitHub - sgan81/Apfs-fuse: FUSE driver for APFS (Apple File System)". GitHub. 2020-01-18. https://github.com/sgan81/apfs-fuse

  192. "APFS module for linux, with experimental write support. This tree is just for development, please use linux-apfs-oot instead.: Linux-apfs/Linux-apfs". GitHub. 2019-12-14. https://github.com/eafer/linux-apfs

  193. Namjae Jeon (20 January 2020). "[PATCH v12 00/13] add the latest exfat driver". linux-kernel (Mailing list). Retrieved 18 December 2021. https://lkml.org/lkml/2020/1/20/420

  194. "NTFS3 Pull Request acceptance". https://lkml.iu.edu/hypermail/linux/kernel/2109.0/03731.html

  195. "Paragon HFS+ for Windows 10". http://www.paragon-software.com/home/hfs-windows/download.html

  196. "Paragon HFS+ for Windows 10". http://www.paragon-software.com/home/hfs-windows/download.html

  197. "Porting an Ancient Filesystem to Modern Linux". Time To Pull The Plug. Archived from the original on 2017-06-21. Retrieved 2016-04-22. https://web.archive.org/web/20170621190933/http://time.to.pullthepl.ug/blog/2013/6/24/porting-an-ancient-filesystem-to-modern-linux/

  198. "A port of the xiafs filesystem to modern Linux kernels". Github (cdtk). 2019-06-28. https://github.com/ctdk/modern-xiafs

  199. "Paragon ExtFS for Mac". https://www.paragon-software.com/ufsdhome/extfs-mac

  200. "Explore2fs". chrysocome.net. http://www.chrysocome.net/explore2fs

  201. "Paragon ExtFS for Windows". https://www.paragon-software.com/home/extfs-windows

  202. "FAQ". Ext2 Installable File System For Windows. (Provides kernel level read/write access to Ext2 and Ext3 volumes in Windows NT4, 2000, XP and Vista.) http://www.fs-driver.org/faq.html

  203. Branten, Bo. "Ext2Fsd Project: Open source ext3/4 file system driver for Windows (2K/XP/WIN7/WIN8)". Archived from the original on 2012-07-23. Retrieved 2012-07-24. https://web.archive.org/web/20120723091043/http://www.ext2fsd.com/

  204. "Paragon ExtFS for Mac". https://www.paragon-software.com/ufsdhome/extfs-mac

  205. "Explore2fs". chrysocome.net. http://www.chrysocome.net/explore2fs

  206. "Paragon ExtFS for Windows". https://www.paragon-software.com/home/extfs-windows

  207. "FAQ". Ext2 Installable File System For Windows. (Provides kernel level read/write access to Ext2 and Ext3 volumes in Windows NT4, 2000, XP and Vista.) http://www.fs-driver.org/faq.html

  208. Branten, Bo. "Ext2Fsd Project: Open source ext3/4 file system driver for Windows (2K/XP/WIN7/WIN8)". Archived from the original on 2012-07-23. Retrieved 2012-07-24. https://web.archive.org/web/20120723091043/http://www.ext2fsd.com/

  209. "FreeBSD Handbook". https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/filesystems-linux.html

  210. "Paragon ExtFS for Mac". https://www.paragon-software.com/ufsdhome/extfs-mac

  211. Hanselman, Scott (2021-11-02). "WSL2 can now mount Linux ext4 disks directly". Newsletter of Wonderful Things. Retrieved 2023-10-01. https://www.hanselman.com/blog/wsl2-can-now-mount-linux-ext4-disks-directly

  212. Microsoft Corp. (2023-07-17). "Windows technical documentation: Windows development environment: Windows Subsystem for Linux". Microsoft Learn (published 2021-12-09). Archived from the original on 2021-12-27. Retrieved 2023-10-01. https://learn.microsoft.com/windows/wsl/basic-commands#mount-a-disk-or-device

  213. "FreeBSD Handbook". https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/filesystems-linux.html

  214. "Lustre Wiki". http://wiki.lustre.org/index.php?title=Main_Page

  215. "FreeBSD 10.4 MAN page - reiserfs". www.freebsd.org. Retrieved 2019-08-05. https://www.freebsd.org/cgi/man.cgi?query=reiserfs&apropos=0&sektion=0&manpath=FreeBSD+10.4-RELEASE&arch=default&format=html

  216. "FreeBSD 11 and Reiserfs". www.linuxquestions.org. 2016-12-19. Retrieved 2019-08-05. https://www.linuxquestions.org/questions/%2Absd-17/freebsd-11-and-reiserfs-4175595198/

  217. "'svn commit: r300062 - in head/sys: gnu/fs modules modules/reiserfs' - MARC". marc.info. Retrieved 2019-08-05. https://marc.info/?l=freebsd-commits-all&m=146349940607224&w=2

  218. "About Shared File Systems and the Linux Client - Sun QFS and Sun Storage Archive Manager 5.3 Installation Guide". Retrieved 2016-03-14. https://docs.oracle.com/cd/E22586_01/html/E22570/gledk.html

  219. Supported using only EVMS; not currently supported using LVM

  220. Provided in Plan 9 from User Space /wiki/Plan_9_from_User_Space

  221. Provided in Plan 9 from User Space /wiki/Plan_9_from_User_Space

  222. Provided in Plan 9 from User Space /wiki/Plan_9_from_User_Space

  223. Provided in Plan 9 from User Space /wiki/Plan_9_from_User_Space

  224. "ZFS Filesystem for FUSE/Linux". Wizy Wiki. 30 November 2009. Archived from the original on 13 May 2013. https://web.archive.org/web/20130513101601/http://www.wizy.org/wiki/ZFS_on_FUSE

  225. "ZFS on Linux". Lawrence Livermore National Laboratory. http://zfsonlinux.org/

  226. Kim, Arnold (4 October 2007). "Apple Seeds ZFS Read/Write Developer Preview 1.1 for Leopard". Mac Rumors. http://www.macrumors.com/2007/10/04/apple-seeds-zfs-read-write-developer-preview-1-1-for-leopard/

  227. "OpenZFS on Windows". https://openzfsonwindows.org/

  228. "WinBtrfs". Github (maharmstone). 2020-11-22. https://github.com/maharmstone/btrfs

  229. "squashfs-tools". Freshports. http://www.freshports.org/sysutils/squashfs-tools/

  230. "fusefs-squashfuse". Freshports. http://www.freshports.org/sysutils/fusefs-squashfuse/

  231. FUSE based driver available that can eliminate need for iSCSI gateways or SMB shares, but the physical backend store BlueStore only runs on Linux.

  232. Filesystem driver "Dokany" available that can eliminate need for iSCSI gateways or SMB shares, but the physical backend store BlueStore only runs on Linux.

  233. FUSE based driver available that can eliminate need for iSCSI gateways or SMB shares, but the physical backend store BlueStore only runs on Linux.

  234. 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. /wiki/Installable_File_System

  235. 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 (131.0 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 KiB (32.76 KB)). /wiki/Kibibyte

  236. 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.

  237. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  238. "Frequently Asked Questions". https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/APFS_Guide/FAQ/FAQ.html

  239. "Volume Format Comparison". https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/APFS_Guide/VolumeFormatComparison/VolumeFormatComparison.html

  240. 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.

  241. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  242. 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.

  243. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  244. Varies wildly according to block size and fragmentation of block allocation groups.

  245. "CephFS Maximum File Sizes and Performance". https://docs.ceph.com/en/mimic/cephfs/administration/

  246. "CephFS Directory Fragmentation". https://docs.ceph.com/en/latest/cephfs/dirfrags/

  247. "ExFAT: File Name Directory Entry". https://www.ntfs.com/exfat-filename-dentry.htm

  248. "File System Functionality Comparison". Microsoft Docs. Microsoft. 2021-01-07. Retrieved 2022-08-14. https://docs.microsoft.com/en-us/windows/win32/fileio/filesystem-functionality-comparison?redirectedfrom=MSDN#limits

  249. "File System Functionality Comparison". Microsoft Docs. Microsoft. 2021-01-07. Retrieved 2022-08-14. https://docs.microsoft.com/en-us/windows/win32/fileio/filesystem-functionality-comparison?redirectedfrom=MSDN#limits

  250. 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.

  251. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  252. 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.

  253. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  254. 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 (131.0 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 KiB (32.76 KB)). /wiki/Kibibyte

  255. 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.

  256. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  257. 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 (131.0 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 KiB (32.76 KB)). /wiki/Kibibyte

  258. Vimal A.R (16 July 2016). "Max file-name length in an EXT4 file system". arvimal.blog. Archived from the original on 28 February 2021. https://web.archive.org/web/20210228121426/https://arvimal.blog/2016/07/21/max-file-name-length-in-an-ext4-file-system/

  259. 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.

  260. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  261. 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 (131.0 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 KiB (32.76 KB)). /wiki/Kibibyte

  262. "Interviews/EricSandeen". Fedora Project Wiki. 9 June 2008. https://fedoraproject.org/wiki/Interviews/EricSandeen

  263. 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.

  264. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  265. 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. /wiki/FAT12

  266. 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. /wiki/Installable_File_System

  267. 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.

  268. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  269. On-disk structures would support up to 4 GiB (4.294 GB), but practical file size is limited by volume size. /wiki/Gibibyte

  270. 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. /wiki/FAT12

  271. 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. /wiki/Installable_File_System

  272. 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. /wiki/FAT12

  273. 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.

  274. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  275. On-disk structures would support up to 4 GiB (4.294 GB), but practical file size is limited by volume size. /wiki/Gibibyte

  276. 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. /wiki/FAT12

  277. 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. /wiki/Installable_File_System

  278. 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. /wiki/FAT12

  279. 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.

  280. "File System Functionality Comparison". Microsoft Docs. Microsoft. 2021-01-07. Retrieved 2022-08-14. https://docs.microsoft.com/en-us/windows/win32/fileio/filesystem-functionality-comparison?redirectedfrom=MSDN#limits

  281. "File System Functionality Comparison". Microsoft Docs. Microsoft. 2021-01-07. Retrieved 2022-08-14. https://docs.microsoft.com/en-us/windows/win32/fileio/filesystem-functionality-comparison?redirectedfrom=MSDN#limits

  282. While FAT32 partitions this large work fine once created, some software won't allow creation of FAT32 partitions larger than 32 GiB (34.35 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.[104] /wiki/Partition_(computing)

  283. 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. /wiki/FAT12

  284. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  285. 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.

  286. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  287. "GEMDOS Overview". http://cd.textfiles.com/ataricompendium/BOOK/HTML/CHAP2.HTM

  288. 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.

  289. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  290. Depends on CPU arch. For 32bit kernels the max is 16 TiB (17.59 TB). [106]

  291. Depends on CPU arch. For 32bit kernels the max is 16 TiB (17.59 TB). [107]

  292. 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.

  293. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  294. Depends on kernel version and arch. For 2.4 kernels the max is 2 TiB (2.199 TB). For 32-bit 2.6 kernels it is 16 TiB (17.59 TB). For 64-bit 2.6 kernels it is 8 EiB (9.223 EB).

  295. Depends on kernel version and arch. For 2.4 kernels the max is 2 TiB (2.199 TB). For 32-bit 2.6 kernels it is 16 TiB (17.59 TB). For 64-bit 2.6 kernels it is 8 EiB (9.223 EB).

  296. 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.

  297. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  298. Matthew Dillon. "HAMMER2 Design Document". we can allow filenames up to 1023 bytes long http://apollo.backplane.com/DFlyMisc/hammer2.txt

  299. 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.

  300. Matthew Dillon (June 21, 2008). "The HAMMER Filesystem" (PDF). http://www.dragonflybsd.org/hammer/hammer.pdf

  301. 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.

  302. 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.

  303. 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. /wiki/Escape_sequence

  304. "Mac OS X: Mac OS Extended format (HFS Plus) volume and file limits". support.apple.com. July 26, 2016. Archived from the original on 2019-04-08. https://web.archive.org/web/20190408213105/https://support.apple.com/en-us/HT201711

  305. "Mac OS 8, 9: Mac OS Extended Format - Volume and File Limits". support.apple.com. February 20, 2012. https://support.apple.com/kb/TA21924

  306. 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. /wiki/Installable_File_System

  307. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  308. 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 (68.71 GB). /wiki/Installable_File_System

  309. "SFS file system". www.ibm.com. 2015-06-03. Archived from the original on 2022-09-13. Retrieved 2022-09-13. https://www.ibm.com/docs/en/cobol-aix/5.1?topic=systems-sfs-file-system

  310. ISO 9660#Restrictions /wiki/ISO_9660#Restrictions

  311. Through the use of multi-extents, a file can consist of multiple segments, each up to 4 GiB (4.294 GB) in size. See ISO 9660#The 2 GiB (2.147 GB) (or 4 GiB (4.294 GB) depending on implementation) file size limit /wiki/Gibibyte

  312. 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.

  313. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  314. 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.

  315. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  316. "Joliet Specification". 22 May 1995. Archived from the original on 14 April 2009. https://web.archive.org/web/20090414104421/http://bmrc.berkeley.edu/people/chaffee/jolspec.html

  317. 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.

  318. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  319. 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.

  320. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  321. Sparse files can be larger than the file system size, even though they can't contain more data.

  322. 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.

  323. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  324. Sparse files can be larger than the file system size, even though they can't contain more data.

  325. 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.

  326. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  327. 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.

  328. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  329. 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.

  330. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  331. NSS allows files to have multiple names, in separate namespaces.

  332. Russon, Richard; Fledel, Yuval. "NTFS Documentation" (PDF). http://dubeyko.com/development/FileSystems/NTFS/ntfsdoc.pdf

  333. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  334. 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 (281.4 TB) and the file size to 16 TiB (17.59 TB) respectively; in Windows 10 version 1709, the limit is 8 PiB (9.007 PB) when using 2 MiB (2.097 MB) cluster size. /wiki/Windows_NT

  335. "NTFS overview". Microsoft Docs. 2022-05-26. Archived from the original on 2022-05-26. Retrieved 2022-06-05. https://docs.microsoft.com/en-us/windows-server/storage/file-server/ntfs-overview

  336. 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 (281.4 TB) and the file size to 16 TiB (17.59 TB) respectively; in Windows 10 version 1709, the limit is 8 PiB (9.007 PB) when using 2 MiB (2.097 MB) cluster size. /wiki/Windows_NT

  337. "NTFS overview". Microsoft Docs. 2022-05-26. Archived from the original on 2022-05-26. Retrieved 2022-06-05. https://docs.microsoft.com/en-us/windows-server/storage/file-server/ntfs-overview

  338. 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. /wiki/8.3_filename

  339. NSS allows files to have multiple names, in separate namespaces.

  340. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  341. 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.

  342. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  343. 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.

  344. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  345. Maximum combined filename/filetype length is 236 bytes; each component has an individual maximum length of 255 bytes.

  346. Maximum pathname length is 4,096 bytes, but quoted limits on individual components add up to 1,664 bytes.

  347. 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.

  348. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  349. 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.

  350. 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.

  351. Steven Sinofsky (January 16, 2012). "Building the next generation file system for Windows: ReFS". /wiki/Steven_Sinofsky

  352. Steven Sinofsky (January 16, 2012). "Building the next generation file system for Windows: ReFS". /wiki/Steven_Sinofsky

  353. Amigo (2015-04-02). "Invalid Characters in File Names". Amigo's Technical Notes. Retrieved 2020-10-20. https://amigotechnotes.wordpress.com/2015/04/02/invalid-characters-in-file-names/

  354. Steven Sinofsky (January 16, 2012). "Building the next generation file system for Windows: ReFS". /wiki/Steven_Sinofsky

  355. Steven Sinofsky (January 16, 2012). "Building the next generation file system for Windows: ReFS". /wiki/Steven_Sinofsky

  356. "Resilient File System (ReFS) overview". Microsoft Docs. Retrieved 2017-11-07. https://docs.microsoft.com/en-us/windows-server/storage/refs/refs-overview

  357. Steven Sinofsky (January 16, 2012). "Building the next generation file system for Windows: ReFS". /wiki/Steven_Sinofsky

  358. 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.

  359. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  360. ReiserFS has a theoretical maximum file size of 1 EiB (1.152 EB), but "page cache limits this to 8 Ti on architectures with 32 bit int"[119] /wiki/Exbibyte

  361. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  362. 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.

  363. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  364. This restriction might be lifted in newer versions.

  365. 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.

  366. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  367. "Maximum Number of UFS Subdirectories". Oracle. Retrieved 2019-02-12. https://docs.oracle.com/cd/E19120-01/open.solaris/819-2723/fsfilesysappx-5/index.html

  368. 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.

  369. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  370. "Frequently Asked Questions for FreeBSD 9.X and 10.X". FreeBSD Documentation Project. Retrieved 2016-03-20. If there was not a fsck(8) memory limit the maximum filesystem size would be 2 ^ 64 (blocks) * 32 KiB (32.76 KB) => 16 Exa * 32 KiB (32.76 KB) => 512 ZettaBytes. https://www.freebsd.org/doc/faq/book.html

  371. "Maximum Number of UFS Subdirectories". Oracle. Retrieved 2019-02-12. https://docs.oracle.com/cd/E19120-01/open.solaris/819-2723/fsfilesysappx-5/index.html

  372. 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.

  373. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  374. 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 MB. /wiki/Megabyte

  375. 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.

  376. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  377. 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 (4.294 GB). /wiki/BSD

  378. 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.

  379. 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.

  380. 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.

  381. 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.

  382. 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.

  383. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  384. Note that the filename can be much longer XFS#Extended attributes /wiki/XFS#Extended_attributes

  385. 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.

  386. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  387. XFS has a limitation under Linux 2.4 of 64 TiB (70.36 TB) file size, but Linux 2.4 only supports a maximum block size of 2 TiB (2.199 TB). This limitation is not present under IRIX. /wiki/Tebibyte

  388. XFS has a limitation under Linux 2.4 of 64 TiB (70.36 TB) file size, but Linux 2.4 only supports a maximum block size of 2 TiB (2.199 TB). This limitation is not present under IRIX. /wiki/Tebibyte

  389. 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.

  390. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  391. 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. Older POSIX APIs which rely on the PATH_MAX constant have a limit of 4,096 bytes on Linux but this can be worked around. Linux itself has no hard path length limits.[122][123] /wiki/Installable_File_System

  392. 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. /wiki/Installable_File_System

  393. 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 (131.0 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 KiB (32.76 KB)). /wiki/Kibibyte