Potresti ricordare le notizie di alcuni mesi fa sul lavoro per migliorare il formato su disco di Btrfs nell’affrontare le”parti dolorose”del suo design. Quel lavoro”extrent-tree-v2″è andato avanti e recentemente è stato messo in coda nel codice Btrfs for-next anche se nascosto dietro un flag di debug.
Il lavoro dell’extent-tree-v2 di Josef Bacik era inizialmente motivato ad affrontare la contesa di blocco all’interno delle radici globali e bloccare gli elementi del gruppo che venivano diffusi nell’albero degli extent. Con extent-tree-v2 vengono apportati miglioramenti al design di Btrfs come parte di un progetto a lungo termine per migliorare Btrfs. Al termine, gli utenti dovrebbero migrare al nuovo formato su disco per i file system esistenti e nel processo perderanno il supporto per l’avvio di kernel precedenti.
Mentre questo lavoro di miglioramento di Btrfs è ancora in corso, sembra che i bit iniziali potrebbero arrivare per Linux 5.18 mentre sono nascosti dietro il flag di configurazione CONFIG_BTRFS_DEBUG al momento della compilazione del kernel. Il messaggio di commit aggiunge:
QUESTO È UN MODIFICA DEL FORMATO DI SVILUPPO, NON UTILIZZARE A MENO CHE NON SEI UNO SVILUPPATORE O UN TESTER.
Il formato è in evoluzione e verrà aggiunto in più fasi, qualsiasi fs dovrà essere rifatto tra gli aggiornamenti al formato.
Il lavoro iniziale di extent-tree-v2 era raccolto da David Sterba nel codice”for-next”del file system Btrfs, il che significa che verrà trovato in Linux 5.18 (sebbene nascosto per impostazione predefinita) a meno che le patch non vengano ripristinate. Come accennato, il lavoro viene svolto in modo incrementale, quindi sarebbe nel corso delle prossime versioni del kernel che il formato extent-tree-v2 verrà consolidato. La caratteristica iniziale brillante della serie di patch in coda è il supporto per più radici globali.
Alcune funzionalità sono disabilitate per ora anche con extent-tree-v2 come lo scrubbing, la creazione/eliminazione di snapshot, il bilanciamento e altre funzionalità che verranno quindi ripristinate in seguito.
Sterba ha anche commentato la mailing list di Btrfs ,”Aggiunto a misc-next. Ho apportato solo alcune modifiche, alcuni aggiornamenti ai messaggi, aggiunto commenti. Poiché questa sarà una lunga serie, vorrei suggerire di eseguire fasi di sviluppo e pulizia. Lo sviluppo in modo che tu può eliminare nuove modifiche funzionali, ma la pulizia sembra essere necessaria in quanto c’è molto codice ripetuto e altrimenti deve essere mantenuto a un livello ragionevole per quanto riguarda l’altro codice.”
Coloro che sono curiosi del lavoro di extent-tree-v2 e di altre iniziative di questo moderno file system Linux possono seguirlo tramite Btrfs for-next.