O que faz o ext3 determinar com que frequência executar verificações do sistema de arquivos quando nenhuma opção é especificada?

5

Eu criei duas partições em um drive de 1,5 TB, o primeiro foi de 1 TB, o último foi o restante de 5 TB. Ambos foram formatados como ext3. Eu não me importo que as verificações automáticas do sistema de arquivos ocorram de vez em quando, então eu nunca me incomodo em configurar a frequência dele. O que achei estranho foi que ele decidiu fazer a verificação automática ocorrer a cada 39 montagens para a 1 TB e 27 montagens para a partição .5 TB. Eu tentei procurar nas páginas do manual, bem como em vários fóruns, mas não encontrei nenhuma menção sobre como isso determina a freqüência das verificações do sistema de arquivos. Eu suponho que é uma fórmula simples, então alguém sabe o que é isso?

    
por drheart 18.02.2013 / 22:08

3 respostas

6

O bom do linux é que a fonte está sempre em algum lugar. Você pode fazer o download ou view as fontes base do e2fsprogs no kernel.org. Isso também pode depender da sua versão e distribuição específicas ...

Do código atual, parece que algum valor é adicionado a 20 com base no UUID da partição, se você tiver enable_periodic_fsck = 1 em seu mke2fs.conf

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

Sempre bom ver as palavras 'kludgy' e 'hack' no código =)

    
por 18.02.2013 / 23:44
2

Veja mke2fs(8) e o conteúdo de /etc/mke2fs.conf(5) para os padrões.

    
por 18.02.2013 / 23:29
0

Você precisa usar o comando tune2fs para definir vários parâmetros como número de montagens ou número de dias entre verificações de integridade do FS.

Você também pode usar tune2fs -l /dev/device para exibir informações atuais sobre seu sistema de arquivos

    
por 18.02.2013 / 22:22

Tags