linux目录块,Linux目录大小/块计数的单调增长

Linux上,(可能是文件系统块大小的函数),当我创建一个目录并对其进行统计时,它返回4096的大小.我可以在这个目录中创建文件,直到某一点,而不会增加感知的大小目录(由stat报告).

在某些时候,当目录填满许多文件时,目录大小气球(我不是在谈论目录的内容,我说的是代表目录本身所消耗的块).如果删除文件,则目录大小保持不变.

这是一个简单的例子:

[root@uxlabtest:/]$mkdir test

[root@uxlabtest:/]$stat test

File: `test'

Size: 4096 Blocks: 8 IO Block: 4096 directory

Device: fd00h/64768d Inode: 1396685 Links: 2

Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2011-07-26 14:06:04.000000000 -0400

Modify: 2011-07-26 14:06:04.000000000 -0400

Change: 2011-07-26 14:06:04.000000000 -0400

然后触摸一堆文件:

[root@uxlabtest:/]$for i in `seq 1 10000`; do touch /test/$i; done

[root@uxlabtest:/]$stat test

File: `test'

Size: 155648 Blocks: 312 IO Block: 4096 directory

Device: fd00h/64768d Inode: 1396685 Links: 2

Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2011-07-26 14:06:04.000000000 -0400

Modify: 2011-07-26 14:06:56.000000000 -0400

Change: 2011-07-26 14:06:56.000000000 -0400

[root@uxlabtest:/]$rm -rf /test/*

[root@uxlabtest:/]$stat test

File: `test'

Size: 155648 Blocks: 312 IO Block: 4096 directory

Device: fd00h/64768d Inode: 1396685 Links: 2

Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2011-07-26 14:07:11.000000000 -0400

Modify: 2011-07-26 14:07:12.000000000 -0400

Change: 2011-07-26 14:07:12.000000000 -0400

我的问题是:

>为什么目录的大小/块数会单调增加?

>这是底层文件系统还是Linux VFS的功能?

>可以在不删除和重新创建目录的情况下减小目录大小吗?

>加分点:指向实现此行为的内核源代码.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值