fsck: O SISTEMA DE ARQUIVOS FOI MODIFICADO após cada verificação com -c, por quê?

3

Eu uso um script para particionar e formatar cartões CF (conectados a um gravador de cartão USB) de maneira automatizada. Após o processo principal eu verifico o cartão novamente com fsck. Para verificar os blocos defeituosos, também tentei a opção '-c', mas sempre recebo um valor de retorno! = 0 e a mensagem "SISTEMA DE ARQUIVOS FOI MODIFICADO" (veja abaixo). Eu recebo o mesmo resultado ao verificar a mesma unidade várias vezes ...

Alguém sabe por que a) o sistema de arquivos é modificado de todo e b) por que isso parece acontecer toda vez que eu verifico e não apenas em caso de erro (como blocos defeituosos)?

Aqui está a saída:

linux-box# fsck.ext3 -c /dev/sdx1
e2fsck 1.40.2 (12-Jul-2007)
Checking for bad blocks (read-only test): done
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

Volume (/dev/sdx1): ***** FILE SYSTEM WAS MODIFIED *****
Volume (/dev/sdx1): 5132/245760 files (1.2% non-contiguous), 178910/1959896 blocks
    
por Chris 12.05.2010 / 16:17

3 respostas

3

Quoth the manpage:

-c
This option causes e2fsck to run the badblocks(8) program to find any blocks which are bad on the filesystem, and then marks them as bad by adding them to the bad block inode. If this option is specified twice, then the bad block scan will be done using a non-destructive read-write test.

Portanto, a opção -c grava no sistema de arquivos, que fsck interpreta como "corrigindo erros", portanto, o código de retorno de 1 ("Erros do sistema de arquivos corrigidos")

... então, você pergunta, por que ele retorna 1 quando você especifica -n , que deve abrir o sistema de arquivos somente leitura e não fazer mudanças?
Bem, outras leituras da página manpage também revelam essa resposta:

-n Open the filesystem read-only, and assume an answer of 'no' to all questions. Allows e2fsck to be used non-interactively. (Note: if the -c, -l, or -L options are specified in addition to the -n option, then the filesystem will be opened read-write, to permit the bad-blocks list to be updated. However, no other changes will be made to the filesystem.)

(em outras palavras: O -n é uma mentira!)

Esta resposta é totalmente fornecida por a página de manual para fsck.ext3 .

    
por 21.07.2012 / 06:54
0

Você tentou a opção -v para o fsck para obter mais informações? Além disso, você pode tentar executar os badblocks sozinho e examinar sua saída.

    
por 12.05.2010 / 17:58
0

O mais provável é que tenha havido uma gravação na área "label" do sistema de arquivos. E a data / hora do último fsck'd e o número de vezes desde os últimos campos de contagem de montagem no rótulo do sistema de arquivos?

Se você observar os parâmetros tune2fs, esse tipo de gravação suportaria os parâmetros -c e -i para o suporte completo ao fsck para um sistema de arquivos ext3.

    
por 12.05.2010 / 18:39