3 ms·
The essence of the article: PATH_MAX applies to the syscall interface. It's not related to file systems. Paths aren't a file system thing, but simply a convenie
by jstimpfle 10y ago
The essence of the article: PATH_MAX applies to the syscall interface. It's not related to file systems. Paths aren't a file system thing, but simply a convenient means of addressing files. Basically they are URLs for local resources.
And that totally makes sense once you understand that files are basically "objects" (in the OO sense) identified by inodes instead of memory addresses. A file system implements the graph of these objects (linked by special file objects called directories). The fact that one can cross file system boundaries using file paths also indicates that file paths are none of a file system's business.
- masklinn 10y ago> It's not related to file systems. Paths aren't a file system thing, but simply a convenient means of addressing files. > The fact that one can cross file system boundaries using file paths also indicates that file paths are none of a file system's business. The filesystem knows about file names, stores them, and puts limits on them (often 255 code units though some are lower — FAT16's 8.3, HFS's 31 — and some are higher — Reiser4's 3976 bytes). A file path is nothing but a concatenation of a bunch of file names and separators ergo file paths are, in fact, an FS's business. And while that's mostly fallen out of style there are still length-limited-path filesystems: ISO-9660 and UDF for instance.
- jstimpfle 10y ago> A file path is nothing but a concatenation of a bunch of file names and separators ergo file paths are, in fact, an FS's business. This is a non sequitur.