Why are current filesystems limited to 255 characters limit for filenames even though hardware have improved drastically over the last few decades ?
Why are we limited to 255 characters filenames even though we are in the Ghz era ?
Why are current filesystems limited to 255 characters limit for filenames even though hardware have improved drastically over the last few decades ?
Why are we limited to 255 characters filenames even though we are in the Ghz era ?
Mostly because file names are stored in the file system, where there is a single byte dedicated to their length. Changing this to two bytes is theoretically possible, but creates a new and incompatible file system. That's just not worth it.
Mind you, Windows historically had a 255 path length. That was considered too strict and has been progressively relaxed (in the sense that it has become easier for a program to bypass)
.
. Remember, the 8.3 format dates back to the original, most primitive IBM PC.
/mnt/home/foo/bar.txt
may be the full path, but the file system itself only contains a foo
directory and a bar.txt
file. The /mnt/home
part is where the OS mounts the file system. The whole path is created by dynamically concatenating these parts, inside your running program.
There is very little value in allowing more chars, so none of the newer file system cared to implement it - it would have relevant size and performance cost.
Typically, any requirements for longer filenames are from improper design, and can be redirected to databases, or the content of the file.