Movatterモバイル変換


[0]ホーム

URL:


Vai al contenuto
WikipediaL'enciclopedia libera
Ricerca

Bcachefs

Da Wikipedia, l'enciclopedia libera.
Questa voce è orfanaQuesta voce èorfana, ovveropriva dicollegamenti in entrata da altre voci.
Inseriscine almeno uno pertinente e utile e rimuovi l'avviso. Segui i suggerimenti delprogetto di riferimento.
Bcachefs
Dati generali
SviluppatoreKent Overstreet
IntroduzionePrima apparizione: 21 agosto 2015Linux
Struttura
Struttura contenuti directoryB*Tree
Allocazione dei fileextent
Limiti
Dimensione massima del nome di un file255 byte
Dimensione massima del volumeNon esiste limite teorico
Caratteri permessi nel nome di un fileTutti i byte eccetto NULL e '/'
Caratteristiche
AttributiPOSIX
Permessi file systemPOSIX e ACL in xattrs
Compressione trasparenteSì (LZ4,gzip,Zstd)
Crittografia trasparente
Manuale

Bcachefs è unfile system COW (copy-on-write) per sistemi operativi basati sulkernel Linux. Lo sviluppatore principale del progetto, Kent Overstreet, ne annunciò la nascita nel 2015 e venne aggiunto alkernel Linux a partire dalla versione 6.7.[1][2]

È concepito per competere con le funzionalità moderne offerte daZFS oBtrfs e con la velocità e le prestazioni messe a disposizione daext4 oXFS.

Caratteristiche

[modifica |modifica wikitesto]

Bcachefs è unfile system COW che offre caratteristiche interessanti quali: capacità di gestire in modo trasparente il caching dei dati, la possibilità di memorizzare informazioni in forma crittografata, utilizzando algoritmi come ChaCha20 e Poly1305, gestire nativamentela compressione tramiteLZ4,gzip[3] eZstandard,[4]snapshot,CRC-32C echecksum a64 bit.

È estremamente versatile e può estendersi su più dispositivi a blocchi, anche nelle configurazioniRAID.

Le prime versioni di Bcachefs mettevano a disposizione tutte le funzionalità di Bcache, un sistemadi cache a blocchi per Linux, con cui Bcachefs condivide circa l'80% del suo codice. A partire da dicembre 2021, la funzionalità di cache a livello di blocco è stata rimossa.[5]

A livello distruttura dati, bcachefs utilizzaB-tree come molti altri file system moderni, ma con una dimensione del nodo insolitamente grande, impostata di default a 256 KiB. Questi nodi sono strutturati internamente in log, formando una struttura dati ibrida e riducendo la necessità di riscrivere i nodi durante l'aggiornamento.[6] Gli snapshot non vengono implementati clonando un albero COW, ma aggiungendo un numero di versione agli oggetti del file system.[7] La funzionalità COW e l'allocazione dei bucket consentono un'implementazione RAID che non soffrono di "write hole" (buchi di scrittura) o diframmentazione I/O.[8]

Bcachefs viene descritto dagli stessi sviluppatori come un file system"funzionante e stabile, con una piccola comunità di utenti" ("working and stable, with a small community of users").[9]

Il 7 aprile 2024 però,Linus Torvalds, parlando di Linux 6.9-rc3, toccò anche l'argomento bcachefs e riferendosi alla sua stabilità dichiarò che "se pensavi che bcachefs fosse già stabile,I have a bridge to sell you (modo per dire inglese che indica che qualcuno ti sta proponendo una truffa o una balla)".[10]

Tornato sull'argomento nell'agosto del 2024 Torvalds disse che "nessuno sano di mente utilizzerebbe bcachefs aspettandosi che sia stabile"("nobody sane uses bcachefs and expects it to be stable).[11]

Nell'agosto 2024, il responsabile Debian di bcachefs-tools, ha reso orfano il pacchetto, mettendo in dubbio la sua sostenibilità a lungo termine. Pubblicò anche un post nelblog che avvertiva: "Se si intendesse utilizzare bcachefs per qualsiasi tipo di utilizzo in produzione in futuro, consiglierei prima di capire quanto sia supportabile a lungo termine e se c'è davvero qualcuno che riesca a fornire un supporto stabile per esso".[12]

Storia

[modifica |modifica wikitesto]

Lo sviluppatore principale è Kent Overstreet, lo stesso diBcache, una tecnologia presente nel kernel Linux e che permette di creare dei volumi ibridi. A detta dello stesso Overstreet, Bcache è stato un "prototipo" che ha contribuito alla realizzazione di Bcachefs che ne è erede e sostituto.

L'idea di sviluppare il file system Bcachefs è nata dopo che gli sviluppatori di Bcache si sono resi conto che il codice "si stava evolvendo... in un file systemPOSIX completo e multiuso"("been evolving... into a full blown, general-purpose POSIX filesystem") con un "design davvero pulito ed elegante"("really clean and elegant design").

Dopo che Bcache venne integrato nel ramo di sviluppo principale del kernel Linux, nel 2013, Overstreet lasciò il suo lavoro pressoGoogle per dedicarsi a tempo pieno su Bcachefs.

Nel 2015, dopo alcuni anni di sviluppo non finanziato, Overstreet annunciò Bcachefs nel 2015. La sua intenzione era quella di creare un file system avanzato con caratteristiche moderne come quelle diZFS oBtrfs ma con la velocità e le prestazioni di file system comeext4 eXFS.

A partire dal 2017 Overstreet ha ricevuto supporto finanziario per lo sviluppo di Bcachefs tramitePatreon.

A metà del 2018 le patch per includere Bcachefs nel kernel Linux sono state inviate, ma non vennero accettate.

Nei primi mesi del 2019, le funzionalità richieste a Bcachefs sono state completate e le patch annunciate sulla KKML per essere sottoposte a revisione.

Nell'ottobre 2023 Bcachefs è stato integrato nel kernel Linux 6.7,[13] rilasciato nel gennaio 2024.[2]

Nell'anno 2025 c'è stata una querelle tra Torval e Overstreet e Bcachefs non viene più manutenuto all'interno del kernel Linux. Un riepilogo su un articolo deilsoftware[14]

Note

[modifica |modifica wikitesto]
  1. git.kernel.org,https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9e87705289667a6c5185c619ea32f3d39314eb1b Titolo mancante per urlurl (aiuto).URL consultato il 31 ottobre 2023.
  2. 12(EN)phoronix.com,https://www.phoronix.com/news/Linux-6.7-Released Titolo mancante per urlurl (aiuto).URL consultato il 7 gennaio 2024.
  3. bcachefs-docs.readthedocs.io,https://bcachefs-docs.readthedocs.io/en/latest/options.html#compression-types Titolo mancante per urlurl (aiuto).
  4. bcachefs.org,https://bcachefs.org/bcachefs-principles-of-operation.pdf Titolo mancante per urlurl (aiuto).URL consultato il 10 maggio 2023.
  5. bcachefs.org,https://bcachefs.org/bcachefs-principles-of-operation.pdf Titolo mancante per urlurl (aiuto).URL consultato il 10 maggio 2023.
  6. bcachefs.org,https://bcachefs.org/Architecture/ Titolo mancante per urlurl (aiuto).
  7. bcachefs.org,https://bcachefs.org/Snapshots/ Titolo mancante per urlurl (aiuto).
  8. Kent Overstreet,bcachefs: Principles of Operation (PDF), subcachefs.org, 18 dicembre 2021.URL consultato il 10 maggio 2023.
  9. bcachefs.org,https://bcachefs.org Titolo mancante per urlurl (aiuto).
  10. Linus Torvalds,Linux 6.9-rc3, sulore.kernel.org, 7 aprile 2024.
  11. lore.kernel.org,https://lore.kernel.org/lkml/CAHk-=wj1Oo9-g-yuwWuHQZU8v=VAsBceWCRLhWxy7_-QnSa1Ng@mail.gmail.com/ Titolo mancante per urlurl (aiuto).
  12. jonathancarter.org,https://jonathancarter.org/2024/08/29/orphaning-bcachefs-tools-in-debian/ Titolo mancante per urlurl (aiuto).
  13. (EN)phoronix.com,https://www.phoronix.com/news/Bcachefs-Merged-Linux-6.7 Titolo mancante per urlurl (aiuto).URL consultato il 31 ottobre 2023.
  14. Michele Nasi,Linus Torvalds gela bcachefs: cosa significa che il file system Linux diventa mantenuto esternamente?, suIlSoftware.it, 4 settembre 2025.URL consultato il 17 settembre 2025.

Collegamenti esterni

[modifica |modifica wikitesto]
 Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica
Estratto da "https://it.wikipedia.org/w/index.php?title=Bcachefs&oldid=147738272"
Categoria:
Categorie nascoste:

[8]ページ先頭

©2009-2026 Movatter.jp