| Btrfs |
~16 EiB |
16 EiB |
Limit is architectural; Linux enforces same as spec. |
| CP/M |
~8 MB |
~8 MB |
Depends on CP/M version and BIOS disk parameter block. |
| exFAT |
128 PiB |
128 PiB (spec), 16 EiB theoretical |
Windows enforces 128 PiB practical limit. |
| ext2 |
16 TiB |
32 TiB |
Depends on block size; 4 KiB blocks common. |
| ext3 |
16 TiB |
32 TiB |
Same limits as ext2; journaling overhead applies. |
| ext4 |
1 EiB (Linux limit often 100–200 TiB practical) |
1 EiB |
Actual usable size depends on mkfs parameters. |
| F2FS |
~16 TiB |
~16 TiB |
Flash-optimized; volume size tied to segment count. |
| FAT16 |
2 GiB |
4 GiB |
BIOS and OSes typically enforce 2 GiB. |
| FAT32 |
2 TiB |
16 TiB |
Windows limits formatting to 32 GiB, but not usage. |
| HFS |
2 GiB |
2 GiB |
Classic Mac OS limit. |
| HFS+ |
8 EiB |
8 EiB |
macOS typically uses smaller practical volumes. |
| JFS |
32 PiB |
32 PiB |
IBM design; Linux implementation matches spec. |
| Linux-swap |
~128 GiB |
~128 GiB |
Kernel-dependent; not a filesystem. |
| LUKS |
Depends on underlying FS |
Depends on underlying FS |
Container layer only. |
| LVM2 PV |
8 EiB |
8 EiB |
Volume groups can exceed individual PV sizes. |
| MINIX |
64 MB (v1), 1 GB (v2), 16 GB (v3) |
Same as practical |
Hard limits defined by FS version. |
| NILFS2 |
8 EiB |
8 EiB |
Log-structured; snapshots stored continuously. |
| NTFS |
256 TiB (Windows) |
16 EiB |
Windows enforces 256 TiB limit. |
| Reiser4 |
16 TiB |
16 TiB |
Experimental; limited tooling. |
| ReiserFS |
16 TiB |
16 TiB |
Deprecated in modern kernels. |
| SFS (Amiga) |
~128 GiB |
~128 GiB |
AmigaOS constraint. |
| UDF |
1 TiB (rev 1.02), 16 TiB (rev 2.01+), 128 TiB (rev 2.60) |
128 TiB |
Optical media often limits practical size. |
| XFS |
500 TiB (Linux default) |
8 EiB |
mkfs.xfs defaults enforce smaller limits. |