Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Linux: un (raro) bug di EXT4 corrompe i dati

Link copiato negli appunti

La release di manutenzione 3.6.2 del kernel Linux, rilasciata la settimana scorsa, è afflitta da un bug del filesystem EXT4 (quello di default sulla quasi totalità delle distribuzioni GNU/Linux) che può causare la corruzione del journal e quindi dei dati del sistema. I bugfix applicati alla versione stabile del kernel vengono backportati a tutte le altre attualmente supportate: questo significa che che i kernel 3.4.14, 3.4.15, 3.5.7, e 3.6.3 sono tutti afflitti dal problema.

Il bug, che al momento rimane ancora privo di un fix definitivo, si verifica però solo in circostanze esotiche, abbondantemente al di fuori di un contesto desktop ma che tuttavia potrebbero verificarsi in alcuni particolari ambienti di produzione. La corruzione dei dati su disco sembra avvenire, stando ai primi test, solo in presenza di una non bene identificata combinazione di opzioni di mount (tra cui obarrier, journal_checksum e journal_async_commit) e solo durante la fase di smontaggio del filesystem, in particolare quando sono coinvolti riavvi troppo ravvicinati. Se infatti il problema si verifica una seconda volta in rapida successione, i nuovi dati "sporcati" dal mount più recente vengono scritti su disco prima di quelli vecchi, corrompendo irrimediabilmente le sezioni del filesystem coinvolte.

Theodore Ts´o, il maintainer di EXT4 e uno dei principali sviluppatori del kernel, ha identificato il commit problematico e anche proposto una serie di due patch, che però non si sono rivelate conclusive. Il bug, viste le sue circostanze così particolari e il numero esiguo di utenti afflitti, è estremamente difficile da riprodurre. Per tale ragione Ts´o ha deciso di investigare più a fondo prima di inviare ulteriori patch all´attenzione di Linus.

In questa situazione, tutto sommato meno drammatica di quanto appaia per via dell´utenza iper-specializzata colpita da questo bug, gli sviluppatori di Linux sono riusciti a trovare il lato umoristico, descrivendolo come un Lance Armstrong Bug:

Quando il codice supera ogni test eseguito, ma ci sono prove lampanti che si comporti in maniera anomala...

Ti consigliamo anche