Linux

來自busybox的df顯示的inode數量與tune2fs不同

  • April 6, 2019

我們有基於 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通知的分區的inodes,例如mmcblk0p18是15

tune2fs 報告的15*1024 = 15360 相同內容與分區 mmcblk0p19 相同。

我不明白為什麼在busybox中以這種方式報告,因為分區18和19的分區128和256的inode大小也不同。

有人可以幫助或提供任何指示嗎?

我查看了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配置中的這個常見配置。

引用自:https://unix.stackexchange.com/questions/398893