[Ilugc] Limit on Sub-folders / Files in Linux

  • From: cybertoast@xxxxxxxxx (Sundar)
  • Date: Fri Apr 18 22:27:12 2008



Even if you manage to fix the issue today by increasing the limit,
you still will come back to the same point when you hit the
new-limit.


Which is why I'm curious about the reason for the 32k limit - why is this a
hard-coded limit? If it's a type limit (say int16) then it should be a power
of 2, not a nice round number. And if it can be increased, why is it set to
a lower number (a quick test shows me that I can compile a kernel with this
value set to 65k and it works. I have not tried higher since I don't
understand what this limit refers to and what the dependencies are - I'm
just holding off rolling up my sleeves and following the variable in the
kernel).

Also this limit seems to be limited to ext3. My tests on my other hosts [UFS
(on my FreeBSD box), HFS (OSX), NTFS (WinXPPro), ZFS (FreeBSD)]  don't have
this limit, and I'm wondering why other FSs have been able to get around
this problem but not EXT3. Also, the EXT4 header file has the same limit (at
least according to ext4_fs.h).

I've done a bunch of google searches and I can't seem to find any reason why
this limit exists outside of historical space-saving (there was one
reference to the inode count being an int16).

With modern needs (specifically multimedia) these limits seem a bit archaic.
But I'm sure there are good reasons which I just don't know. Perhaps someone
could enlighten me, or at least help me go down the correct rabbit hole?

Cheers

Other related posts: