Maximum number of files in a FAT system
MS FAT-based filesystems have a limit to the number of files that can be stored in the root directory (a few hundred IIRC), and because of the way long filenames are stored file/directory names longer then the traditional "8+3" wil consume more then on of the entries in the limit.
For subdirectories FAT32 allows ~65,000 entries per sub-directory (again, long filenames take more than one slot), I'm not sure about the older FAT16. Other filesystems have similar limits (ext2/3 has a 32,000 entry limit without certain tweaks) some do not or effectively do not (NTFS allows ~4,000,000,000). You will hit performance issues on some filesystems long before you hit the limit of entries per directory, as some search directories linearly (FAT* do, ext2 does, ext3 does unless you specific indexed directories, ext4 and NTFS do indexed directories by default IIRC).
Related videos on Youtube
Simon Sheehan
Updated on September 17, 2022Comments
-
Simon Sheehan almost 2 years
Is it true that in FAT filesystems the maximum number of files per filesystem equals the number of entries in the FAT table. And is it also true that in indexed filesystems the maximum number of files per filesystem equals the number of indexblocks – 1.
I'm reading some stuff and am trying to get a good understanding of it.
-
Phil over 14 yearsI think it's 256 or 512 files in root, but I also think that's a FAT16 limit.
-
David Spillett over 14 yearsLooks like you are right. en.wikipedia.org/wiki/Fat16 suggests that 512 entries is used by default for large filesystems (presumably less for floppy sized ones - I certainly remember hitting the limit before a few hundred files), and in FAT32 the root directory is a directory table file just like any other sub-directory so has the same ~65000 entry limit.
-
user1686 over 12 yearsThe ~32k limit in ext2/3 only applies to subdirectories, not to entries (which are limited to 1.3e20). Specifically, 32k is a limit of hardlinks a single directory or file can have.