Ext3

是什麼讓 ext3 在未指定選項時確定執行文件系統檢查的頻率?

  • February 18, 2013

我在 1.5 TB 驅動器上創建了兩個分區,第一個是 1 TB,後者是剩餘的 0.5 TB。兩者都被格式化為 ext3。我不介意每隔一段時間發生一次自動文件系統檢查,所以我從不費心配置它的頻率。我發現奇怪的是,它決定每 39 次掛載 1 TB 進行自動檢查,而 0.5 TB 分區每掛載 27 次。我試圖查看手冊頁以及各種論壇,但我找不到任何關於它如何確定文件系統檢查頻率的資訊。我認為這是一個簡單的公式,所以有人知道它是什麼嗎?

linux 的好處是原始碼總是在某個地方。您可以在 kernel.org 上下載查看基本的 e2fsprogs 原始碼。這也可能取決於您的特定版本和發行版…

從目前程式碼看來,如果您enable_periodic_fsck = 1在 mke2fs.conf 中有根據分區的 UUID 增加 20 的值

mke2fs.c

if (get_bool_from_profile(fs_types, "enable_periodic_fsck", 0)) {
   fs->super->s_checkinterval = EXT2_DFL_CHECKINTERVAL;
   fs->super->s_max_mnt_count = EXT2_DFL_MAX_MNT_COUNT;
   /*
    * Add "jitter" to the superblock's check interval so that we
    * don't check all the filesystems at the same time.  We use a
    * kludgy hack of using the UUID to derive a random jitter value
    */
    for (i = 0, val = 0 ; i < sizeof(fs->super->s_uuid); i++)
        val += fs->super->s_uuid[i];
    fs->super->s_max_mnt_count += val % EXT2_DFL_MAX_MNT_COUNT;
} else
    fs->super->s_max_mnt_count = -1;

mke2fs.h

:#define EXT2_DFL_MAX_MNT_COUNT              20

總是很高興在程式碼中看到“kludgy”和“hack”這兩個詞=)

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