1
I can't understand why ls -l
shows folder size less than block size.
For example:
[user@01 NEW]$ ls -l
total 4
drwxr-xr-x 5 root root 78 Apr 22 00:43 controllers
drwxr-xr-x 14 root root 4096 Apr 22 00:44 schemas
drwxr-xr-x 2 root root 38 Apr 22 00:44 spinner
"controllers" is a directory, and block size is 4096 bytes, so why size is 78 bytes?
[user@01 NEW]$ find controllers/ -type f | wc -l
73
Many files are inside. And du -hs
shows that size of this folder is 840 K.
Another strange thing is that ls -s
shows that for this two directories allocated 0 blocks:
[user@01 NEW]# ls -ls
total 4
0 drwxr-xr-x 5 root root 78 Apr 22 00:43 controllers
4 drwxr-xr-x 14 root root 4096 Apr 22 00:44 schemas
0 drwxr-xr-x 2 root root 38 Apr 22 00:44 skins
xfs_info:
xfs_info /
meta-data=/dev/disk/by-uuid/5d87d678-e4cc-445f-b770-4e4c0357faaa isize=256 agcount=4, agsize=393088 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=1572352, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
In ext4 folders size is normal (i.e., equal to block size).
Thanks, Redhat article says: "For the default inode size of 256 bytes, roughly 100 bytes of attribute space is available depending on the number of data extent pointers also stored in the inode." So, it mean that folder size can't be bigger than 100 b (if it stored in inode). But some directories has size 130 and more bytes (also 0 blocks are allocated for them). – loadaverage – 2013-04-22T00:41:18.123
Possibly, the literal area of a directory file inode is larger (inode core is 96 bytes, that leaves 160). You can experiment by creating a file with longer and longer name. – LSerni – 2013-04-22T06:57:16.507
I did that out of curiosity, the actual space seems to be between 155 and 159 bytes indeed. The part you quoted referred to a file with extended attributes and data extent pointers, but a small directory may do without either, and so have more space available. – LSerni – 2013-04-22T07:07:46.313
Yes, I've tested this, size is the same (~160 bytes). Thank you for helping. – loadaverage – 2013-04-22T16:01:07.890