Il numero di file system moderni non smette di crescere. E non è un caso, se si pensa alle moltissime innovazioni via via introdotte in questo ambito, nonché alle limitazioni strutturali che spesso impediscono a file system tradizionali (magari anche molto diffusi) di essere agevolmente aggiornati.
Su questo argomento, è significativo parlare della recente notizia secondo cui Red Hat stia recentemente lavorando su un nuovo file system, chiamato NVFS e destinato al mondo di Linux e dell'open source.
Nel seguito, facendo riferimento alle informazioni contenute in questo documento, cercheremo di descriverne le principali funzionalità.
Cos'è NVFS?
L'obiettivo principale degli sviluppatori di NVFS è quello di creare un file system snello, veloce e pensato per essere utilizzato su memorie persistenti, come ad esempio la Intel Optane DCPMM. A tal fine, NVFS è pensato per essere usato con dispositivi DAX-based (ad accesso diretto), e può effettuare il mapping di un dispositivo in un address space lineare, bypassando il livello kernel di Linux e la buffer cache.
Questa idea era già stata vista in un altro file system, noto come NOVA, ritenuto però evidentemente non sufficientemente all'altezza dal team di Red Hat. In mancanza di una valida alternativa in termini di file system per Linux in grado di fornire alte prestazioni su dispositivi come quelli summenzionati, Red Hat ha pensato di sviluppare NVFS.
Il design di NVFS
NVFS è stato progettato in maniera per certi versi simile ad EXT4, con una ottima integrazione con il VFS implementato nel codice del kernel Linux. Secondo alcune fonti, NVFS risulta in effetti molto più performante rispetto a EXT3, EXT4, XFS e NOVA sulle memorie persistenti, peraltro indipendentemente da DAX.
Attualmente, è stata pubblicata una RFC per NVFS, al fine di sollecitare fin da subito un primo lavoro di code review, nonché per raccogliere opinioni sull'idea. Chiunque volesse scoprirne di più, può fare riferimento a questo documento.