A resposta para sua pergunta está no e2fsck/problems.c
arquivo do código fonte e2fsprogs . Procurando a PR_PREEN_OK
bandeira, você deve começar.
Como a manipulação completa de erros está um pouco mais envolvida, devido à multiplicidade de condições de erro diferentes que podem ocorrer, é recomendável que você analise mais de perto o código se estiver preocupado com um caso específico. No entanto, as listas abaixo foram extraídas dos comentários para as condições de erro e devem fornecer uma visão geral aproximada dos efeitos do modo preen.
No momento, os seguintes erros / avisos são tratados automaticamente quando o -p
sinalizador é especificado:
- Realocar dica
- O inode do diário é inválido
- O superbloco do diário está corrompido
- O sinalizador superblock has_journal está desobstruído, mas possui um diário
- O sinalizador Superblock needs_recovery está definido, mas o diário não está presente
- A revisão do sistema de arquivos é 0, mas os sinalizadores de recurso estão definidos
- Dica de superbloco para superbloco externo
- descritor de grupo N marcado como não inicializado sem conjunto de recursos.
- bitmap de bloco do grupo N bitmap não inicializado, mas inode em uso.
- O descritor de grupo N possui uma contagem inválida de inodes não utilizados.
- Bitmap do último bloco do grupo não inicializado.
- O sinalizador test_fs está definido (e ext4 está disponível)
- O último tempo de montagem está no futuro (falsificado)
- A última hora de gravação está no futuro (falsificado)
- A soma de verificação do grupo de blocos (pergunta de trava) é inválida.
- O diretório raiz tem dtime definido
- O inode reservado tem modo incorreto
- O inode excluído tem zero dtime
- Inode em uso, mas dtime definido
- Diretório de comprimento zero
- Inode com i_size incorreto
- O inode possui i_blocks incorretos
- Superbloco incorreto no grupo
- Descritores de grupo de blocos inválidos no grupo
- Bloco reivindicado sem motivo
- Erro ao alocar blocos para realocar metadados
- Erro ao alocar o buffer de bloco durante o processo de realocação
- Realocando Informações do Grupo de Metadados de X para Y
- Realocando Informações do Grupo de Metadados para X
- Erro de leitura de bloco durante o processo de realocação
- Erro de gravação de bloco durante o processo de realocação
- Sinalizador imutável definido em um dispositivo ou em um soquete
- Tamanho diferente de zero para dispositivo, fifo ou inode de soquete
- A revisão do sistema de arquivos é 0, mas os sinalizadores de recurso estão definidos
- O inode do diário não está em uso, mas contém dados
- O diário está com o modo incorreto
- Sinalizador INDEX_FL definido em um sistema de arquivos não-HTREE
- Sinalizador INDEX_FL definido em um não diretório
- Nó raiz inválido no diretório HTREE
- Versão de hash não suportada no diretório HTREE
- Sinalizador incompatível no nó raiz HTREE
- HTREE muito profundo
- inode inválido-> i_extra_isize
- entrada inválida e-> e_name_len
- entrada inválida e-> e_value_offs
- entrada inválida e-> e_value_block
- entrada inválida e-> e_value_size
- entrada inválida e-> e_hash
- inode ausente EXTENTS_FL, mas é um inode de extensão
- O inode não deve ter EOFBLOCKS_FL definido
- A entrada do diretório excluiu ou inode não utilizado
- Tipo de arquivo de diretório não definido
- Tipo de arquivo de diretório definido no sistema de arquivos
- Nó raiz HTREE inválido
- Limite HTREE inválido
- Contagem de HTREE inválida
- O nó interno HTREE possui hashes fora de ordem na tabela
- Inode encontrado no grupo em que _INODE_UNINIT está definido
- Inode encontrado na área de inodes do grupo não utilizada
- i_blocks_hi deve ser zero
- / perdido + encontrado não encontrado
- Inode de comprimento zero desanexado
- Contagem de ref do inode incorreta
- O preenchimento no final do bitmap do inode não está definido.
- O preenchimento no final do bitmap do bloco não está definido.
- Bloquear cabeçalho de diferenças de bitmap
- Bloco não usado, mas marcado no bitmap
- Bloco usado, mas não marcado usado no bitmap
- Fim das diferenças de bitmap do bloco
- Cabeçalho de diferenças de bitmap de inode
- Inode não usado, mas marcado no bitmap
- Inode usado, mas não marcado usado no bitmap
- As diferenças de bitmap do inode terminam
- Inodes livres contam para o grupo errado
- Diretórios contam para o grupo errado
- Inodes livres contam incorretamente
- Contagem de blocos grátis para grupo errado
- Blocos livres contam errado
- Intervalo de blocos não usado, mas marcado no bitmap
- Intervalo de blocos usado, mas não marcado usado no bitmap
- Intervalo de inodes não usado, mas marcado no bitmap
- Intervalo de inodes usado, mas não marcado usado no bitmap
- Blocos do grupo N em uso, mas o grupo está marcado como BLOCK_UNINIT
- Grupo N inode (s) em uso, mas o grupo está marcado como INODE_UNINIT
- Recrie o diário se o sinalizador E2F_FLAG_JOURNAL_INODE estiver definido
As seguintes condições de erro fazem com que o processo fsck não interativo seja interrompido, mesmo se o -p
sinalizador estiver definido:
- Bloquear bitmap fora do grupo
- Bitmap de inode não no grupo
- Tabela de inode fora do grupo
- O tamanho do sistema de arquivos está incorreto
- A contagem de inodes no superbloco está incorreta
- O Hurd não suporta o recurso de tipo de arquivo
- O diário possui um tipo de superbloco desconhecido
- Pergunte se devemos limpar o diário
- O superbloco de diário possui um conjunto de sinalizadores de recurso somente leitura desconhecido
- O superbloco de diário possui um conjunto de sinalizadores de recurso incompatível desconhecido
- O diário possui um número de versão não suportado
- Pergunte se devemos executar o diário de qualquer maneira
- Blocos reservados sem resize_inode
- Resize_inode não ativado, mas o redimensionamento do inode é diferente de zero
- Redimensionar inode inválido
- O último tempo de montagem está no futuro
- A última hora de gravação está no futuro
- descritor de grupo N soma de verificação inválida.
- O diretório raiz não é um inode
- O bitmap do bloco entra em conflito com outro bloco fs
- O bitmap do inode entra em conflito com outro bloco fs
- A tabela de inode entra em conflito com algum outro bloco fs
- O bitmap do bloco está em um bloco defeituoso
- O bitmap do inode está em um bloco inválido
- Número de bloco ilegal no inode
- O número do bloco se sobrepõe aos metadados fs
- O inode possui blocos ilegais (pergunta de trava)
- Muitos blocos defeituosos no inode
- Número de bloco ilegal no inode do bloco inválido
- Inode de bloco inválido possui blocos ilegais (pergunta de trava)
- Bloco ruim usado como bloco indireto de bloco ruim
- Inconsistência não pode ser corrigida
- Prompt de bloqueio primário incorreto
- Suprimir prompt de mensagens
- Sinalizador Imagic definido em um inode quando o sistema de arquivos não o suporta
- Sinalizador de compactação definido em um inode quando o sistema de arquivos não o suporta
- Lidar com inodes que faziam parte da lista vinculada órfã
- Lidar com inodes que faziam parte da lista vinculada órfã corrompida (pergunta da trava)
- Erro ao ler o bloco de atributo estendido
- Bloco de atributo estendido inválido
- Contagem de referência de atributo estendida incorreta
- Vários blocos de EA não são suportados
- Erro de colisão de alocação de EA
- Nome de atributo estendido incorreto
- Valor de atributo estendido incorreto
- Inode muito grande (pergunta da trava)
- Diretório muito grande
- Arquivo regular muito grande
- Link simbólico muito grande
- Bloco inválido possui bloco indireto que entra em conflito com o bloco do sistema de arquivos
- Falha ao redimensionar o inode
- inode parece ser um diretório
- Erro ao ler a árvore de extensão
- Falha ao iterar extensões
- Bloco inicial ruim em extensão
- A extensão termina além do sistema de arquivos
- Sinalizador EXTENTS_FL definido em um sistema de arquivos não extensível
- inode possui extensões, superbloco ausente no recurso INCOMPAT_EXTENTS
- O link simbólico rápido possui EXTENTS_FL definido
- As extensões estão fora de ordem
- O inode possui um nó de extensão inválido
- Clonar blocos duplicados / inválidos?
- Número de inode inválido para '.'
- A entrada do diretório tem um número de inode incorreto
- A entrada do diretório está vinculada a '.'
- Pontos de entrada do diretório para o inode agora localizados em um bloco inválido
- A entrada de diretório contém um link para um diretório
- A entrada de diretório contém um link para o diretório raiz
- A entrada do diretório possui caracteres ilegais em seu nome
- Ausência de '.' no diretório inode
- Faltando '..' no inode do diretório
- A primeira entrada no diretório inode não contém '.'
- A segunda entrada no inode do diretório não contém '..'
- i_faddr deve ser zero
- i_file_acl deve ser zero
- i_dir_acl deve ser zero
- i_frag deve ser zero
- i_fsize deve ser zero
- inode tem modo ruim
- diretório corrompido
- nome do arquivo muito longo
- O inode do diretório tem um bloco ausente (furo)
- '.' não é NULL finalizado
- '..' não é NULL finalizado
- Inode de dispositivo de caractere ilegal
- Inodo de dispositivo de bloco ilegal
- Duplicado '.' entrada
- Entrada duplicada
- Rec_len final está errado
- Erro ao ler o bloco de diretórios
- Erro ao gravar o bloco de diretório
- Entrada de diretório para '.' é grande. Dividido?
- Inode FIFO ilegal
- Inode de soquete ilegal
- Tipo de arquivo de diretório incorreto
- O nome do arquivo do diretório é nulo
- Link simbólico inválido
- i_file_acl (bloco de atributo estendido) está incorreto
- O sistema de arquivos contém arquivos grandes, mas não possui esse sinalizador no sb
- Limpar diretório HTREE inválido
- Bloco inválido no nó interior da htree
- Entrada de diretório duplicada encontrada
- Nome do arquivo não exclusivo encontrado
- i_blocks_hi deve ser zero
- Bloco HTREE inesperado
- Inode raiz não alocado
- Não há espaço em perdido + encontrado
- Inode de diretório desconectado
- .. a entrada está incorreta
- Lost + não encontrou um diretório
- Inode desanexado
- Superbloco corrompido
- Fragmentos não suportados
- Erro ao determinar o tamanho do dispositivo físico do sistema de arquivos
- O diário externo possui (sem suporte) vários sistemas de arquivos
- Não foi possível encontrar o diário externo
- O diário externo tem um superbloco incorreto
- O superbloco possui um UUID de diário inválido
- Erro ao alocar o bitmap do inode
- Erro ao alocar o bitmap do bloco
- Erro ao alocar informações do link de contagem regressiva
- Erro ao alocar matriz de blocos de diretório
- Erro ao verificar inodes
- Erro ao iterar sobre blocos
- Erro ao armazenar informações de contagem de inodes
- Erro ao armazenar informações de bloco de diretório
- Erro ao ler o inode (para limpeza)
- Erro ao alocar a estrutura refcount
- Erro ao ler o bloco de atributo estendido ao corrigir refcount
- Erro ao escrever o bloco Extended Attribute ao corrigir refcount
- Erro ao alocar a estrutura de alocação da região EA
- Erro ao verificar inodes
- Erro ao alocar o bitmap do inode
- Erro interno: não foi possível encontrar dir_info
- Erro ao alocar a estrutura do icount
- Erro ao iterar sobre blocos de diretório
- Erro ao desalocar o inode
- Erro ao ajustar o refcount do EA
- Erro ao alocar o bitmap do inode
- Erro ao criar diretório raiz
- O inode raiz não é diretório; abortando
- Não é possível continuar sem um inode raiz.
- Erro interno: não foi possível encontrar dir_info
- Erro de programação: pontos finais de bitmap não correspondem
- Erro interno: falsificando o final do bitmap
- Erro ao copiar no bitmap do inode de substituição
- Erro ao copiar no bitmap do bloco de substituição