Filesystem limitations

Updated: April 19, 2023

POSIX defines the set of services a filesystem must provide. However, not all filesystems are capable of delivering all those services.

Filesystem Access date Modification date Status change date Filename lengtha Permissions Directories Hard links Soft links Decompression on read
Image No No No 255 Yes No No No No
RAMb Yes Yes Yes 255 Yes No No No No
ETFS Yes Yes Yes 91 Yes Yes No Yes No
Power-Safe Yes Yes Yes 510 Yes Yes Yes Yes No
DOS Yesc Yes No 8.3d No Yes No No No
NTFS Yes Yes Yes 755 No Yes No No Yes
UDF Yes Yes Yes 254 Yes Yes No No No
HFS, HFS Plus Yes Yes Yes 255e Yes Yes Yes Yes No
FFS3 No Yes Yes 255 Yes Yes No Yes No
NFS Yes Yes Yes f Yesf Yes Yesf Yesf No
CIFS No Yes No f Yesf Yes No No No
Ext2 Yes Yes Yes 255 Yes Yes Yes Yes No

a Our internal representation for filenames is UTF-8, which has a variable number of bytes per character. Many on-disk formats instead use UCS2, which is a fixed number (2 bytes). Thus a length limit in characters may be 1, 2, or 3 times that number in bytes, as we convert from on-disk to OS representation. The lengths for the Power-Safe and EXT2 filesystems are in bytes; those for UDF and DOS/VFAT are in characters.

b The RAM “filesystem” (/dev/shmem) isn't really a filesystem; it's a window onto the shared memory names that has some filesystem-like characteristics. See Builtin RAM disk later in this chapter.

c VFAT or FAT32 (Windows 95 or later).

d 255-character filename lengths used by VFAT or FAT32 (e.g., Windows 95).

e 31 on HFS.

f Limited by the remote filesystem.