Como matar / terminar a execução do e4defrag sem danificar meus dados?

3

Se eu matar um e4defrag , existe um risco de dados perda / corrupção? Existe uma maneira segura de interrompê-lo?

Por exemplo: executando e4defrag em uma partição grande (como a raiz diretório) ou arquivo grande (como um arquivo de imagem do sistema squashfs) é muito lento, por isso, às vezes, parando / matando e4defrag antes que isso seja feito é necessário, mas não tenho certeza se o estou matando (enviando SIGINT , SIGTERM , SIGKILL , etc. para ele) e4defrag está seguro?

Eu estou executando o Debian Stretch e o sistema de arquivos é ext4.
Minha versão do kernel: 4.14.13
Minha versão e2fsprogs: 1.43.4-2

    
por illiterate 28.09.2018 / 18:50

2 respostas

4

Eu não verifiquei o código em si, mas como o e4defrag está trabalhando apenas em um único arquivo de cada vez, ele definitivamente não pode corromper todo o sistema de arquivos.

Em qualquer caso, a movimentação real dos dados é feita no kernel no contexto de uma transação de diário, por isso deve ser imune a tudo o que você faz no espaço do usuário. Não deve ser capaz de causar um problema se você reiniciar no meio.

    
por 29.09.2018 / 05:05
4

Como e4defrag funciona em um sistema de arquivos montado, usando chamadas padrão do sistema de arquivos, kill ing teria os mesmos perigos que kill ing de qualquer programa que grava em arquivos ... e isso depende de qual sinal kill envia para e4defrag .

  • SIGINT deve estar OK

  • SIGTERM deve estar OK

  • SIGKILL parece potencialmente perigoso, e pode corromper um arquivo - talvez um arquivo importante . Portanto, evite usar SIGKILL com e4defrag .

por 28.09.2018 / 21:21