# Btrfs

Btrfs (B-tree FS, normalment pronunciat "Butter FS") és un sistema de fitxers copy-on-write anunciat per Oracle Corporation per a GNU/Linux.
El seu objectiu és substituir l'actual sistema de fitxers ext3, eliminant el major nombre de les seves limitacions, especialment amb la grandària màxima dels fitxers, a més de l'adopció de noves tecnologies no suportades per ext3. S'afirma també que es «centrarà en la tolerància a fallades, reparació i administració fàcil».
Al febrer de 2009, es va desenvolupar intensivament el Btrfs i va estar disponible només a efectes de ser avaluat. Btrfs v0.19 es va publicar el juny de 2009, com a programari lliure sota llicència GPL. Inicialment estava previst publicar Btrfs v1.0 (amb el format de disc finalitzat) cap a finals de 2008 però, després de sobrepassar-se aquesta data, no s'ha tornat a donar una data per a la versió definitiva.
Theodore Ts'o, desenvolupador dels sistemes ext3 i ext4, va dir que Btrfs «té algunes de les idees de disseny de Reiser4» i que «el sistema de fitxers té suport per a algunes característiques avançades que estan dissenyades per incorporar-se en ZFS». En la versió 2.6.29 del nucli Linux es va afegir suport experimental per a aquest sistema de fitxers.

## Estabilitat

En aquests moments Btrfs ja no es considera inestable, i no s'espera que això canviï tret que existeixin fortes raons per fer-ho. De totes maneres, en cas d'haver-hi un canvi en el format, els sistemes de fitxers formatats abans d'aquest continuaran sent muntables i usables amb noves versions del nucli. El codi font de Btrfs està baix constant desenvolupament. S'han fet tots els esforços per mantenir-lo estable i ràpid. A causa de la velocitat de desenvolupament, l'estat del sistema de fitxers millora considerablement amb cada nova versió de Linux, així que es recomana executar la versió de nucli més moderna que sigui possible.
Per a proves de rendiment es recomana també fer-ho sota la versió estable de Linux més recent, de ser possible sobre l'última versió en desenvolupament i amb diferents opcions de configuració. Per exemple: diferents opcions de compressió.

## Característiques

Btrfs està sent desenvolupat intensivament i moltes de les característiques finals, com per exemple detectar si un volum és ple, no s'han incorporat a la versió de proves. Les característiques finals presentades són:
* Empaquetat eficient en espai de fitxers petits i directoris indexats
* Assignació dinàmica d'inodes (no es fixa un nombre màxim de fitxers en crear el sistema de fitxers)
* Instantànies a les que s'hi pot escriure i instantànies d'instantànies
* Subvolums (arrels del sistema de fitxers internes separades)
* Rèpliques (Mirroring) i bandes de dics (Striping) a nivell d'objecte
* Comprovació de dades i metadades (alta seguretat d'integritat)
* Compressió
* Copy-on-write del registre de totes les dades i metadades
* Gran integració amb device-mapper per suportar múltiples dispositius, amb diversos algorismes de RAID inclosos
* Comprovació del sistema de fitxers sense desmuntar i comprovació molt ràpida del sistema de fitxers desmuntat
* Còpies de seguretat incrementals eficients i rèpliques del sistema de fitxers
* Actualització des d'ext3 a Btrfs, i reconversió a ext3 al moment de l'actualització
* Manera optimitzada per SSD (activat a través d'una opció de muntatge)
* Defragmentació sense desmuntar

## Característiques recents

En la versió 3.14 del kernel Linux, s'afegeix:
* Exportació d'informació del sistema de fitxers a través de sysfs: característiques i perfils d'assignació
* Millora opcional en el format de discos incompatibles amb l'objectiu d'accelerar el sistema
* Afegida l'opció d'emparellament d'opcions de muntatge
* Un munt de petites optimitzacions de rendiment

## Referències

* ↑ «Linux File Systems: Heading Toward Btrfs» (en anglès). learningtree.com, 25-06-2015. Arxivat de l'original el 2021-04-16. [Consulta: 12 febrer 2015].
* ↑ «btrfs Wiki» (en anglès). [Consulta: 29 desembre 2020].
* ↑ «Btrfs hands on: An extremely cool file system» (en anglès). zdnet.com. [Consulta: 12 febrer 2015].

## Enllaços externs

* Lloc oficial Btrfs
* Primer anunci del sistema Arxivat 2008-07-06 a Wayback Machine.
* Coherent Remote File System, construït sobre btrfs.
* Exemples d'ús de Btrfs