I'll betcha that the block allocation pattern goes like this Dirent Block New 1 1 1 2 1 0 3 1 0 ... 128 1 0 129 2 1 130 2 0 ... Which means that only every 128th dirent causes a 4KB block to be allocated.
I don't know for certain how WAFL does this ... but I do know how others do it ... it would be pretty darn wasteful to allocate a 4KB block for every dirent.
I think that 'ls -l' is "being less than truthful".
*********** REPLY SEPARATOR ***********
On 4/4/01 at 5:12 PM Chris Thompson wrote:
marty.johnson@erols.com writes [please excuse de-jeopardisation!]:
On 4/4/01 at 2:21 PM Chris Thompson wrote:
MadDog@fool.com (Tom "Mad Dog" Yergeau) writes:
Agreed. You can't want more than 1 inode per 4K WAFL block, right?
This application generates reports by generating directories. Each
report
can generate hundreds of directories on the filer. I don't know why it works this way but I'm told changing it will be quite a headache.
So, all these directories take up lots and lots of inodes, but no real
space
on the filer.
But each directory will still occupy at least one 4 KB block, so what's all this about "no real space"?
The space allocated to directories isn't counted against quotas in ONTAP, for some historical reason I have never really understood [it's not like that with BSD-derived quotas in Unix]. But it certainly does eat up real disc space, and counts against, say, used space as displayed by "df".
Many dirents fit into a single 4KB block. While dirents do take up space,
it's
a very small amount of space (no real space is pretty accurate).
Yes, in WAFL usually 128 dirents can fit in a 4 KB block. But this doesn't stop the minimum amount of disc space allocated to a directory being one block. When one sees
$ mkdir empty $ ls -dls empty 8 drwxr-xr-x 2 cet1 cet1 4096 Apr 4 16:46 empty ^ ^^^^
there really is 4096 bytes of disc space (alternatively, 8*512) involved!
So even if most of Tom's inodes are going on empty or almost-empty directories, I don't see how he is going to run out of inodes much before he runs out of disc space, if he has 1 inode per 4 KB (or thereabouts).
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.
Marty Johnson