7.3. Systèmes de fichiers
7.3.1. Le système de fichiers Ext4
Note
Pour de très grands systèmes de fichiers, le processus mkfs.ext4
peut prendre très longtemps à initialiser toutes les tables d'inodes dans le système de fichiers. Ce processus peut être reporté avec l'option -E lazy_itable_init=1
. SI utilisé, les processus du noyau continueront à initialiser le système de fichiers après qu'il soit monté. La vitesse à laquelle cette initialisation se produit peut être contrôlée avec l'option -o init_itable=n
de la commande mount
, où le temps pris pour effectuer cette initialisation d'arrière-plan est d'environ 1/n. La valeur par défaut de n
est 10
.
Comme certaines applications n'effectuent pas correctement l'opération fsync()
après avoir renommé un fichier existant ou après une troncature et ré-écriture, ext4 adopte par défaut la synchronisation automatique des fichiers après des opérations « remplacer en renommant » et « remplacer en tronquant ». Ce comportement est en grande partie conforme au comportement de l'ancien système de fichiers ext3. Cependant, comme les opérations fsync()
peuvent prendre longtemps, si ce comportement n'est pas nécessaire, vous pouvez utiliser l'option -o noauto_da_alloc
avec la commande mount
pour le désactiver. Cela signifie que l'application doit explicitement utiliser fsync()
afin d'assurer la persistance des données.
Par défaut, les E/S committées sur le journal ont une priorité légèrement plus élevée que les E/S normales. Cette priorité peut être contrôlée avec l'option journal_ioprio=n
de la commande mount
. La valeur par défaut est 3
. Les valeurs valides vont de 0 à 7, la valeur 0 étant l'E/S avec la plus haute priorité.
mkfs
et options de réglage, veuillez voir les pages man mkfs.ext4(8)
et mount(8)
, ainsi que le fichier Documentation/filesystems/ext4.txt
dans le paquetage kernel-doc.