10. ext3

Za dość istotne uznaliśmy również opisanie systemu ext3 i sposobu, w jaki rozszerza on istniejący system ext2, a także konsekwencji z tym związanych. W skrócie zależność między tymi systemami można przedstawić w postaci równania:

ext3 = ext2 + JBD

Wspomniane już zostały też pozostałe różnice, jakimi są np. H-drzewa, jednak sposób ich zaimplementowania zapewniał wsteczną zgodność z systemem ext2. Najważniejszą jednak różnicą, która spowodowała powstanie nowego systemu plików jest wzbogacenie systemu ext2 o funkcje dziennika. Autorzy systemu ext3 przed jego powstaniem stanęli przed dylematem, czy tworzyć od początku nowy system plików, czy oprzeć się już na jakimś istniejącym, dobrze przetestowanym systemie, jakim bez wątpienia jest system ext2. Pierwszym co zrobiono przy tworzeniu systemu ext3, było skopiowanie kodu źródłowego ext2 i zmiana wszystkich wystąpień ext2 na ext3. Następnie zostało zaprojektowane urządzenie kronikujące (journaling blok device), które odpowiada za prowadzenie dziennika i może być również wykorzystane przez inne komponenty systemu operacyjnego, które chciałyby udostępniać funkcję kroniki. Aby zachować zgodność, kronika jest po prostu jednym z plików w systemie. Ten sposób implementacji sprawia, że system ten jest praktycznie w 100% zgodny z ext2. Ma to daleko idące konsekwencję - gdyż m.in. możemy używać do niego narzędzi zaprojektowanych dla systemu ext2, jak dump i restore, a sam program fsck.ext3 jest również dowiązaniem symbolicznym do e2fsck. Proces konwersji między systemami jest również całkowicie odwracalny, gdyż z jednej strony poprawnie odmontowany system ext3 może być bez najmniejszych problemów zamontowany jako system ext2, jednocześnie konwersja z systemu ext2 do ext3 sprowadza się do wykonania jednego polecenia tune2fs, tworzącego dziennik. Ma to bardzo ważne konsekwencje, gdyż na świecie znajduje się jeszcze wiele serwerów czy komputerów domowych korzystających z systemu ext2 - możemy zatem bardzo łatwo wzbogacić te systemy o funkcję kroniki, a co za tym idzie zwiększyć poziom bezpieczeństwa zapisanych na nich danych, bez potrzeby długotrwałej i dodatkowo narażającej na błędy operacji migracji do całkowicie innego systemu plików. Możliwość łatwej konwersji pozwala także na wykorzystanie w systemie plików ext3 pewnych narzędzi, których w przeciwieństwie do ext2 nie posiada - jak na przykład narzędzia do defragmentacji e2defrag.