busybox 中的 df 显示的 inode 数量与une2fs 的不同

busybox 中的 df 显示的 inode 数量与une2fs 的不同

我们有 Beaglebone 黑色定制板,

我们有 busybox shell,包括 coreutils。
busybox 版本是 BusyBox v1.20.2 (2017-10-16 16:39:36 EDT)
现在我们想检查每个分区的 inode 使用情况,

所以当我运行时df -i我得到以下输出

# df -i
Filesystem              Inodes      Used Available Use% Mounted on
rootfs                     125         9       116   7% /
/dev/root                  125         9       116   7% /
tmpfs                       62         0        62   0% /tmp
tmpfs                       62         0        62   0% /dev/shm
tmpfs                       62         0        62   0% /var/run
tmpfs                       62         0        62   0% /var/spool/cron
tmpfs                       62         0        62   0% /var/sftp
/dev/mmcblk0p18             15         0        15   0% /var/db
/dev/mmcblk0p19             64         0        64   0% /var/firmware

现在,当我运行 tun2fs 来获取 inode 计数时,我得到以下输出

# tune2fs -l /dev/mmcblk0p18 | grep -i inode
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse
Inode count:              15360
Free inodes:              15346
Inodes per group:         1920
Inode blocks per group:   240
First inode:              11
Inode size:               128
Journal inode:            8
Journal backup:           inode blocks

# tune2fs -l /dev/mmcblk0p19 | grep -i inode
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse
Inode count:              65536
Free inodes:              65525
Inodes per group:         8192
Inode blocks per group:   512
First inode:              11
Inode size:               256
Journal inode:            8
Journal backup:           inode blocks

我不明白为什么会不同。 busybox 通知分区的索引节点,例如 mmcblk0p18 是15

15*1024 = 15360 对于分区 mmcblk0p19,tune2fs 报告的内容也是相同的。

我不明白为什么在 busybox 中会这样报告,因为分区 18 和 19 的分区 128 和 256 中的索引节点大小也不同。

有人可以提供帮助或指点吗?

答案1

我查看了 busybox 的错误列表,但没有找到任何关于我的错误的参考。
事实上,busybox df 在我的 ubuntu 机器上按预期工作,我查看了 busybox 配置。最初我只启用以下两个配置,

CONFIG_DF=y
CONFIG_FEATURE_DF_FANCY=y

这样我就无法获得预期的输出。但是,一旦我启用以下配置,df -i它就开始按预期工作。

#
# Common options for df, du, ls
#
CONFIG_FEATURE_HUMAN_READABLE=y

所以罪魁祸首是 busysbox 配置中的这个常见配置。

相关内容