Ext4
# Ext4

ext4 est le successeur du système de fichiers ext3, principalement destiné aux systèmes basés sur GNU/Linux.

Il garde une compatibilité avec son prédécesseur et est considéré par ses propres concepteurs comme une étape intermédiaire devant mener à un vrai système de fichiers de nouvelle génération tel que Btrfs. Toutefois, ext4 est une étape utile et non une simple solution temporaire.

## Histoire

C'est à la fin du mois de juin 2006 que la discussion sur le développement d'une amélioration d'ext3 apparaît, c'est ext3dev. Une fois stabilisé, il change de nom pour devenir ext4dev.

Il est rendu public le 10 octobre 2006 par Andrew Morton et est inclus à titre expérimental dans la version 2.6.19 du noyau Linux, sortie le 29 novembre 2006.

À compter de la version 2.6.28 du noyau, le système est considéré comme stable et à cette occasion change de nom : ext4dev devient ext4 pour être adopté par les utilisateurs.

Deux principales raisons ont poussé les développeurs à passer de ext3 à ext4 et non de faire une évolution de ext3 :

* la volonté de ne pas compliquer le code de ext3 déjà relativement complexe et changeant parfois de comportement suivant les contextes. Il a donc été jugé plus propre de partir sur une base neuve.
* faire évoluer ext3 rendait temporairement instable la définition du système de fichiers. Plusieurs intervenants, comme Linus Torvalds, ont jugé la stabilité d'ext3 trop importante pour qu'on l'expose à des anomalies.

## Fonctionnalités

Outre le fait qu'il puisse gérer les volumes d'une taille allant jusqu'à un exbioctet $(2^{60}$ octets), la fonctionnalité majeure de ext4 est l'allocation par extent qui permettent la pré-allocation d'une zone contiguë pour un fichier, pour minimiser la fragmentation. L'option extent est active par défaut depuis le noyau Linux 2.6.23 ; avant cela, elle devait être explicitement indiquée lors du montage de la partition. Par exemple :

    mount /dev/sda1 /mnt/point -t ext4dev -o extents

Le système de fichiers ext4 a une compatibilité ascendante avec ext3. C'est-à-dire qu'une partition ext3 peut toujours être montée comme ext4 (en utilisant le type de système de fichiers « ext4 » lors du montage). L'inverse est possible, à la condition que la partition ext4 n'ait jamais utilisé l'allocation par extents pour enregistrer des fichiers, mais l'allocation binaire comprise par ext3. Cette capacité de ext4 d'utiliser les formats de ext3 existe pour faciliter la conversion des partitions ext3 vers ext4.

## Accès depuis Windows et Mac OS

Le contenu des partitions ou fichiers images de partitions (comme ceux utilisés par Wubi) formatés en ext4 sont accessibles en lecture seule sous Windows en utilisant le logiciel libre ext2read (ext2explore) ou LinuxReader, ou encore en lecture/écriture via le logiciel libre ext2fsd.

Mac OS X supporte les systèmes de fichiers ext2/3/4 en lecture/écriture à travers le logiciel Paragon ExtFS, qui est un produit commercial. Le logiciel libre ext4fuse - disponible via homebrew - ne les supporte qu'en lecture seule avec des fonctionnalités limitées.

