Ils ont fumé chez RedHat ?
Tout le principe des fichiers journalisés repose sur le fait que sur un disque dur, l'écriture d'un secteur est atomique. Tous les disques dur qui ont moins de 5 ans font ça, en cas de coupure de courant, ils écrivent le secteur qu'ils étaient en train de faire (ils gardent toujours un poil d'énergie) et s'arrêtent (ça peut être plus d'un secteur).
Donc quand tu demande l'écriture d'un secteur, soit elle est effectuée complètement, soit elle ne l'est pas. Ensuite, le principe général, c'est d'avoir un journal d'opérations à effectuer, et une table de validité de ces opérations. Quand tu veux effectuer une série d'opérations, elles sont toutes entrées dans la table, puis elles sont toutes marquées valides (à effectuer), de manière atomique. Puis elles sont appliquées, puis tout marquées invalides, de manière atomique encore. Du coup, en fonction du point ou tu t'arrêtes/plante,
- soit les opérations ne sont pas toutes écrites dans le journal, alors elles ne sont pas marquées valides. au redémarrage, tu as perdu les opérations, mais ton système est toujours cohérent
- soit les opérations sont toutes écrites, et toutes marquées valides. Au redémarrage, tu les effectue. Si elles avaient déjà été effectuées toutes ou en partie, c'est pas grave... Elles sont juste faites 2 fois. Au final, ton système est toujours cohérent
- soit les opérations avaient été effectuées, et marquées invalides, dans ce cas, elles sont ignorées au redémarage. Ton système était cohérent au crash, et il le reste.
Je ne sais pas si je suis clair, mais il y avait eu un article sur les fichiers journalisés dans un LHFM il y a environ un an, qui expliquait bien cela.
Au final, je dirais que si ext3 ne fait pas ça, eh bien en tout cas ReiserFS le fait, lui.
[^] # Re: Enfin journalisé !
Posté par Antoine Labour . En réponse à la dépêche Les noyaux Linux nouveaux sont parmi nous. Évalué à 5.
Tout le principe des fichiers journalisés repose sur le fait que sur un disque dur, l'écriture d'un secteur est atomique. Tous les disques dur qui ont moins de 5 ans font ça, en cas de coupure de courant, ils écrivent le secteur qu'ils étaient en train de faire (ils gardent toujours un poil d'énergie) et s'arrêtent (ça peut être plus d'un secteur).
Donc quand tu demande l'écriture d'un secteur, soit elle est effectuée complètement, soit elle ne l'est pas. Ensuite, le principe général, c'est d'avoir un journal d'opérations à effectuer, et une table de validité de ces opérations. Quand tu veux effectuer une série d'opérations, elles sont toutes entrées dans la table, puis elles sont toutes marquées valides (à effectuer), de manière atomique. Puis elles sont appliquées, puis tout marquées invalides, de manière atomique encore. Du coup, en fonction du point ou tu t'arrêtes/plante,
- soit les opérations ne sont pas toutes écrites dans le journal, alors elles ne sont pas marquées valides. au redémarrage, tu as perdu les opérations, mais ton système est toujours cohérent
- soit les opérations sont toutes écrites, et toutes marquées valides. Au redémarrage, tu les effectue. Si elles avaient déjà été effectuées toutes ou en partie, c'est pas grave... Elles sont juste faites 2 fois. Au final, ton système est toujours cohérent
- soit les opérations avaient été effectuées, et marquées invalides, dans ce cas, elles sont ignorées au redémarage. Ton système était cohérent au crash, et il le reste.
Je ne sais pas si je suis clair, mais il y avait eu un article sur les fichiers journalisés dans un LHFM il y a environ un an, qui expliquait bien cela.
Au final, je dirais que si ext3 ne fait pas ça, eh bien en tout cas ReiserFS le fait, lui.