Even if I am wrong and a 4KB block gets allocated for every dirent, you're going to eat up all of your storage with these 4KB dirents instead of with files. You might not run out of inodes, but you still won't be able to write because you'll have no storage left.
*********** REPLY SEPARATOR ***********
On 4/4/01 at 12:21 PM Marty Johnson wrote:
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
Marty Johnson