Marcos FRM
Highlander
Registrado
10.3K Mensagens
712 Curtidas
Atualização III:
O bug torna-se ainda mais esotérico (usando a palavra de Ted Ts'o) porque quem o reportou, além da opção -l do mount, usa três opções de montagem não padrão e não recomendadas (nobarrier, journal_checksum e journal_async_commit). Pior: o bug acontece, caso durante a desmontagem (só aí) do sistema de arquivos, o sistema seja desligado incorretamente.
Nenhuma distribuiçao em sã consciência usa nenhuma dessas opções de montagem por padrão. Quem as usa é porque deve saber o que está fazendo (e saber se virar...).
Restringe ainda mais a abrangência. Ted Ts'o (Google) e Eric Sandeen (Red Hat) ainda não conseguiram reproduzi-lo consistentemente para um patch já ter sido cozido e enviado ao Linus. Nix (quem reportou o bug) diz que agora no fim de semana terá tempo para fazer todos os testes que Ted pediu. Se tudo der certo, semana que vem essa novela termina.
N0625
Super Zumbi
Registrado
7.1K Mensagens
785 Curtidas
Atualização III:
O bug torna-se ainda mais esotérico (usando a palavra de Ted Ts'o) porque quem o reportou, além da opção -l do mount, usa três opções de montagem não padrão e não recomendadas (nobarrier, journal_checksum e journal_async_commit). Pior: o bug acontece, caso durante a desmontagem (só aí) do sistema de arquivos, o sistema seja desligado incorretamente.
Nenhuma distribuiçao em sã consciência usa nenhuma dessas opções de montagem por padrão. Quem as usa é porque deve saber o que está fazendo (e saber se virar...).
Restringe ainda mais a abrangência. Ted Ts'o (Google) e Eric Sandeen (Red Hat) ainda não conseguiram reproduzi-lo consistentemente para um patch já ter sido cozido e enviado ao Linus. Nix (quem reportou o bug) diz que agora no fim de semana terá tempo para fazer todos os testes que Ted pediu. Se tudo der certo, semana que vem essa novela termina.
Marcos, depois de ler esses reports eu estaria errado em achar que esse bug já vem de longa data (talvez desde da criação do EXT4) e só apareceu por causa de um uso bastante exótico do mount?
ignacho
Zumbi
Registrado
6.8K Mensagens
558 Curtidas
Atualização III:
O bug torna-se ainda mais esotérico (usando a palavra de Ted Ts'o) porque quem o reportou, além da opção -l do mount, usa três opções de montagem não padrão e não recomendadas (nobarrier, journal_checksum e journal_async_commit). Pior: o bug acontece, caso durante a desmontagem (só aí) do sistema de arquivos, o sistema seja desligado incorretamente.
.
A título de curiosidade: para que cargas d'água servem essas opções e para que alguém a ativaria? Aliás, nem posso imaginar como o cara fez para ativá-las.
Marcos FRM
Highlander
Registrado
10.3K Mensagens
712 Curtidas
Marcos, depois de ler esses reports eu estaria errado em achar que esse bug já vem de longa data (talvez desde da criação do EXT4) e só apareceu por causa de um uso bastante exótico do mount?
Enquanto os desevolvedores não conseguirem diagnosticar, não é possível saber.
A título de curiosidade: para que cargas d'água servem essas opções e para que alguém a ativaria? Aliás, nem posso imaginar como o cara fez para ativá-las.
As opções são adicionadas no fstab.
nobarrier diz para o kernel não proteger operações que requeiram ordenameto entre flushes do write cache do dispositivo. Dá melhor desempenho pois o firmware pode buferizar/reordenar a vontade as operações de escrita. Essa opção não deve ser usada por pobres mortais, sob risco de grave corrompimento do sistema de arquivos no caso de desligamentos incorretos. No bug report, ela é usada com segurança pois Nix usa uma palca RAID (em RAID-5) por hardware da Areca com bateria de backup. Então, mesmo numa falta de energia, os dados que ficaram pendentes quando o sistema caiu são gravados nos discos no próximo boot pelo firmware da placa. A bateria presente nela serve para mantê-los salvos até o próximo boot.
journal_checksum é um recurso novo do EXT4 que apareceu no kernel 3.5 para proteger por checksums várias estruturas do sistema de arquivos (metadados) e não apenas o journal. Porém é um código novíssimo e com pouco teste. Não deve ser usado em produção.
journal_async_commit evita uma barreira entre a transação e o commit (do journal) do EXT4 no modo data=ordered. A ordenação é relaxada e a saúde do sistema de arquivos é mantida por causa do checksum do journal no caso de desligamentos incorretos. Tenho dúvidas ser essa opção tem efeito com nobarrier.
ignacho
Zumbi
Registrado
6.8K Mensagens
558 Curtidas
Enquanto os desevolvedores não conseguirem diagnosticar, não é possível saber.
As opções são adicionadas no fstab.
nobarrier diz para o kernel não proteger operações que requeiram ordenameto entre flushes do write cache do dispositivo. Dá melhor desempenho pois o firmware pode buferizar/reordenar a vontade as operações de escrita. Essa opção não deve ser usada por pobres mortais, sob risco de grave corrompimento do sistema de arquivos no caso de desligamentos incorretos. No bug report, ela é usada com segurança pois Nix usa uma palca RAID (em RAID-5) por hardware da Areca com bateria de backup. Então, mesmo numa falta de energia, os dados que ficaram pendentes quando o sistema caiu são gravados nos discos no próximo boot pelo firmware da placa. A bateria presente nela serve para mantê-los salvos até o próximo boot.
journal_checksum é um recurso novo do EXT4 que apareceu no kernel 3.5 para proteger por checksums várias estruturas do sistema de arquivos (metadados) e não apenas o journal. Porém é um código novíssimo e com pouco teste. Não deve ser usado em produção.
journal_async_commit evita uma barreira entre a transação e o commit (do journal) do EXT4 no modo data=ordered. A ordenação é relaxada e a saúde do sistema de arquivos é mantida por causa do checksum do journal no caso de desligamentos incorretos. Tenho dúvidas ser essa opção tem efeito com nobarrier.
Que aula! Valeu Marcos!
Depois dessas eu vou voltar para o Linux 3.6....
hugoleal85
Super Participante
Registrado
442 Mensagens
26 Curtidas
É. Ao que parece o problema é de fato bastante isolado e só ocorre se vários fatores foram utilizados de forma simultânea (daí o porquê de apenas um usuário ter sido afetado até agora, ou seja, o companheiro que descobriu o bug). O H-Online postou hoje o artigo abaixo, com uma abordagem bem ampla do assunto:
http://www.h-online.com/open/features/Comment-Ext4-bug-No-need-to-panic-1738995.html
Em resumo, continuem utilizando seus Kernels 3.4, 3.5 e 3.6 tranquilamente.
Marcos FRM
Highlander
Registrado
10.3K Mensagens
712 Curtidas
Bom resumo do The H. Nada de Pânico, então.
ignacho
Zumbi
Registrado
6.8K Mensagens
558 Curtidas
hugoleal85
Super Participante
Registrado
442 Mensagens
26 Curtidas
Marcos FRM
Highlander
Registrado
10.3K Mensagens
712 Curtidas
Obrigado, ignacho, pela atualização. Não, no 3.4.17 e 3.6.5 o patch não está presente. Ele deverá ser backportado pelas distribuições antes dos próximos lançamentos oficiais do kernel.org.
EDIT
Aqui está o patch em si: ext4: fix unjournaled inode bitmap modification
ignacho
Zumbi
Registrado
6.8K Mensagens
558 Curtidas
Marcos FRM
Highlander
Registrado
10.3K Mensagens
712 Curtidas
Marcos FRM
Highlander
Registrado
10.3K Mensagens
712 Curtidas
Acabou a novela. Lançadas versões 3.6.6 e 3.4.18 com a correção do bug (ext4: fix unjournaled inode bitmap modification). O 3.5 está descontinuado, como comentado pelo ignacho.
Bit0N3
Cyber Highlander
Registrado
14.5K Mensagens
3.4K Curtidas
chega a impressionar a velocidade como conseguem resolver e achar problemas em sistema de código aberto.
é aquela velho historia, a união faz a força.
[]'s
Recomendação: Lord of the rings online MMORPG SHow de bola, roda no fedora pelo lutris.
hugoleal85
Super Participante
Registrado
442 Mensagens
26 Curtidas
chega a impressionar a velocidade como conseguem resolver e achar problemas em sistema de código aberto.
é aquela velho historia, a união faz a força.
[]'s
Concordo plenamente.