Le novità del filesystem BTRFS

17 May 2010, sezione Linux

La notizia è rimbalzata rapidamente da un blog all’altro. Dopo l’annuncio da parte degli sviluppatori di Meego anche Canonical ha reso noto l’interesse nei confronti di Btrfs (B-TRee File System) un file system che in realtà è ancora in fase sperimentale.

Ma che novità avrebbe mai questo file system? Dopotutto ext4 è stato introdotto meno di un’anno fa e da subito ne abbiamo apprezzato le caratteristiche, che necessità c’è di cambiare?

Il file system è il modo in cui sono memorizzati e gestiti i dati sulla memoria, infatti i file spesso non sono memorizzati in locazioni contigue e con il tempo vengono frammentati e sparpagliati in tutta la memoria; c’è quindi bisogno di un metodo di gestire questo disordine, possiamo immaginare il FS come un segretario intento a tenere in ordine delle pratiche.

A differenza di Ext4, che a detta dello stesso sviluppatore era un “tappabuchi” BTRFS introduce delle sostanziali novità derivanti soprattutto dalla caratteristica di non sovrascrivere i vecchi blocchi in casi di modifica di un file. Eccone alcune:

Maggiore scalabilità: ok bello, ma per il momento ce ne frega poco e niente….

Copy-on-write: sulle copie dei file; dal punto di vista dell’utente è tutto invariato, appare una nuova icona indicante il file ed è possibile leggerlo e scriverci. In verità i dati vengono scritti solo quando e se si va a modificare il file. Questo comporta copie istantanee all’interno della stessa partizione e risparmio di spazio su disco.

Snapshot: Per la caratteristica citata prima è possibile mantenere diverse versioni dello stesso file. Immaginate di stare ritoccando degli occhi rossi in una foto, salvarla, chiudere l’editor e poi accorgervi che avete fatto un lavoro da cani proprio sull’unica copia della vostra foto preferita, oppure di voler tornare indietro da un aggiornamento. A mio parere la feature più interessante.

Conversione indolore da ext3/ext4: i vecchi file saranno trattati come “versioni vecchie” e quindi lasciati al loro posto, affiancati e poi gradualmente sostituiti dai nuovi file.

Checksum su dati e metadati: “somme di controllo” generate a partire dai bit che compongono i file per garantire l’integrità di dati e metadati.

E sono solo alcune delle maggiori features, l’unico inconveniente è che, appunto, tutto è ancora in fase sperimentale. Ammiro la strada battuta da Canonical e Meego che hanno scelto di puntare e sostenere sperimentazione e progresso. Un altro bel passo avanti a chi continua ad usare un file system nato sviluppato nel ’93.