Być może pamiętasz wiadomości sprzed kilku miesięcy dotyczące prac nad ulepszeniem formatu Btrfs na dysku w zakresie „bolesnych części” jego projektu. Prace nad „extrent-tree-v2” posuwają się naprzód i ostatnio zostały umieszczone w kolejce do kodu Btrfs for-next, aczkolwiek ukrytego za flagą debugowania.
Praca Josefa Bacika dotycząca drzewa ekstentów w wersji 2 była początkowo zmotywowana do rozwiązania problemu rywalizacji o blokowanie w obrębie globalnych korzeni i elementów grup blokowych rozsianych po całym drzewie ekstentów. W ramach długoterminowego projektu mającego na celu ulepszenie Btrfs, wprowadzane są ulepszenia w projekcie extend-tree-v2 w projekcie Btrfs. Po zakończeniu użytkownicy musieliby przeprowadzić migrację do nowego formatu na dysku dla istniejących systemów plików, co spowodowałoby utratę obsługi uruchamiania starszych jąder.
Podczas gdy prace nad ulepszaniem Btrfs wciąż trwają, wygląda na to, że początkowe bity mogą wylądować w Linuksie 5.18, będąc ukryte za flagą konfiguracji CONFIG_BTRFS_DEBUG w czasie budowania jądra. Komunikat o zatwierdzeniu dodaje:
TO JEST ZMIANA FORMATU ROZWOJOWEGO, NIE UŻYWAJ, JEŚLI NIE JESTEŚ DEWELOPEREM LUB TESTEREM.
Format jest zmienny i będzie dodawany etapami, każdy plik fs będzie musiał zostać ponownie sporządzony między aktualizacjami formatu.
Początkowa praca ekstenty-drzewa v2 była przechwycony przez Davida Sterbę w kodzie systemu plików Btrfs „for-next”, co oznacza, że zostanie znaleziony w Linuksie 5.18 (choć domyślnie ukryty), chyba że łatki zostaną cofnięte. Jak wspomniano, prace są prowadzone stopniowo, więc w ciągu nadchodzących wydań jądra format extend-tree-v2 zostanie wzmocniony. Początkową błyszczącą cechą serii łatek w kolejce jest wsparcie dla wielu globalnych korzeni.
Niektóre funkcje są również na razie wyłączone z extend-tree-v2, takie jak przewijanie, tworzenie/usuwanie migawek, równoważenie i inne funkcje, które zostaną przywrócone później.
Sterba skomentował także listę dyskusyjną Btrfs , „Dodano do misc-next. Zrobiłem tylko kilka poprawek, kilka aktualizacji wiadomości, dodałem komentarze. Ponieważ będzie to długa seria, chciałbym zasugerować wykonanie etapów rozwoju i czyszczenia. może porzucić nowe zmiany funkcjonalne, ale czyszczenie wydaje się być konieczne, ponieważ jest dużo powtarzającego się kodu, a poza tym musi być utrzymywany na rozsądnym poziomie w odniesieniu do innego kodu”.
Ci, którzy są ciekawi pracy extend-tree-v2 i innych przedsięwzięć tego nowoczesnego systemu plików Linuksa, mogą go śledzić za pośrednictwem Btrfs for-next.