I wrote: [...]
There's obviously a lot of mutual incomprehension going on in this thread. I'm doing an experiment with my trusty old /vol/test which I hope should clarify what is being claimed, but I'll have to report on it tomorrow (1,000,000 mkdir's are not exactly fast...).
OK, here goes. /vol/test has one 18 GB data disc, and starts with only a single sub-directory /vol/test/cet1 under the root:
puppis> df /vol/test;df -i /vol/test Filesystem kbytes used avail capacity Mounted on /vol/test/ 12518648 220 12518428 0% /vol/test/ /vol/test/.snapshot 3129660 0 3129660 0% /vol/test/.snapshot Filesystem iused ifree %iused Mounted on /vol/test/ 97 516065 0% /vol/test/
We're going to use all the space...
puppis> snap sched test 0 puppis> snap reserve test 0
... and as many inodes as we are allowed to ...
puppis> maxfiles test 9999999 Max inode count cannot exceed 4129415 Cannot support more than 1 inode per 4 KB of disk space puppis> maxfiles test 4129415
... and now it looks like this:
puppis> df /vol/test;df -i /vol/test Filesystem kbytes used avail capacity Mounted on /vol/test/ 15648308 224 15648084 0% /vol/test/ /vol/test/.snapshot 0 0 0 ---% /vol/test/.snapshot Filesystem iused ifree %iused Mounted on /vol/test/ 97 4129318 0% /vol/test/
I create 100 empty directories /vol/test/cet1/00, /vol/test/cet1/01, ... /vol/test/cet1/99:
puppis> df /vol/test;df -i /vol/test Filesystem kbytes used avail capacity Mounted on /vol/test/ 15648308 672 15647636 0% /vol/test/ /vol/test/.snapshot 0 0 0 ---% /vol/test/.snapshot Filesystem iused ifree %iused Mounted on /vol/test/ 197 4129218 0% /vol/test/
... and in each of those I now create 100 empty subdirectories, such as /vol/test/cet1/31/41 ...
puppis> df /vol/test;df -i /vol/test Filesystem kbytes used avail capacity Mounted on /vol/test/ 15648308 42832 15605476 0% /vol/test/ /vol/test/.snapshot 0 0 0 ---% /vol/test/.snapshot Filesystem iused ifree %iused Mounted on /vol/test/ 10197 4119218 0% /vol/test/
... and in each of *those* I create 100 empty subdirectories, such as /vol/test/cet1/31/41/59 ...
puppis> df /vol/test;df -i /vol/test Filesystem kbytes used avail capacity Mounted on /vol/test/ 15648308 4195216 11453092 27% /vol/test/ /vol/test/.snapshot 0 0 0 ---% /vol/test/.snapshot Filesystem iused ifree %iused Mounted on /vol/test/ 1010197 3119218 24% /vol/test/
And I can't really justify continuing to kill the cache on this filer until something actually runs out! But you will, I trust, see that the ratio of space used to inodes used is essentially 4 KB : 1 inode. (Actually a bit worse, as the inode and blockmap metafiles are being filled in as well.) It's a close thing, but space is actually going to run out before the inodes do.
Chris Thompson University of Cambridge Computing Service, Email: cet1@ucs.cam.ac.uk New Museums Site, Cambridge CB2 3QG, Phone: +44 1223 334715 United Kingdom.