EXT4(5)

NOM
ext2 – Le deuxième système de fichiers étendu
ext3 – Le troisième système de fichiers étendu
ext4 – Le quatrième système de fichiers étendu

DESCRIPTION
Les deuxième, troisième et quatrième systèmes de fichiers étendus (ou plus communément connus comme ext2, ext3 et ext4) sont les systèmes de fichiers Linux qui sont historiquement utilisés par défaut par de nombreuses distributions Linux. Ce sont des systèmes de fichiers généralistes qui ont été conçus pour être extensibles et bénéficier d'une rétrocompatibilité. En particulier, les systèmes prévus auparavant pour fonctionner avec les systèmes de fichiers ext2 et ext3 peuvent être montés avec le pilote de système de fichiers ext4, et en effet, dans de nombreuses distributions Linux modernes, le pilote de système de fichiers est configuré pour prendre en charge les requêtes de montage des systèmes de fichiers ext2 et ext3.

FONCTIONNALITÉS DU SYSTÈME DE FICHIERS
Un système de fichiers formaté pour ext2, ext3 ou ext4 peut avoir un sous-ensemble des fonctionnalités suivantes activé. Suivant la version du noyau Linux utilisé, toutes les implémentations des systèmes de fichiers ext2, ext3 ou ext4 ne prennent pas en charge certaines fonctionnalités. Sur d'autres systèmes d'exploitation tels que GNU/Hurd ou FreeBSD, l'implémentation d'ext2 ne prend en charge qu'un ensemble très restreint de ces fonctionnalités

64bit
    Cette fonctionnalité permet au système de fichiers d'être plus grand que 2^32 blocs. Cette fonctionnalité est activée automatiquement si besoin, mais il peut être utile de l'indiquer explicitement s'il est envisagé de redimensionner le système de fichiers pour atteindre un nombre de blocs supérieur à 2^32, même si celui-ci était plus petit que ce seuil lors de sa création. Remarquez que des versions précédentes du noyau et de e2fsprogs ne prendront pas en charge les systèmes de fichiers avec cette fonctionnalité activée pour ext4.

bigalloc
    Cette fonctionnalité d'ext4 active l'allocation de blocs par cluster, de sorte que l'unité d'allocation en nombre de blocs est une puissance de deux. Cela signifie que chaque bit de ce qui était traditionnellement connu comme la carte d'allocation de bloc indique maintenant si un cluster est utilisé ou non, un cluster étant par défaut composé de 16 blocs. Cette fonctionnalité peut diminuer le temps passé dans des allocations de blocs et limite la fragmentation, en particulier pour les grands fichiers. La taille peut être indiquée par l'option mke2fs -C.

    Attention : la fonctionnalité bigalloc est encore en développement et peut ne pas être complètement prise en charge par le noyau ou peut être boguée. Veuillez consulter la page web http://ext4.wiki.kernel.org/index.php/Bigalloc pour plus d'informations. Elle peut entrer en conflit avec l'allocation avec retard (consultez l'option de montage nodelalloc).

    Cette fonctionnalité nécessite l'activation de la fonctionnalité extent.

casefold
    Cette fonctionnalité d'ext4 fournit la prise en charge de l'encodage des caractères au niveau du système de fichiers pour les répertoires avec l'attribut casefold (+F) activé. Cette fonctionnalité préserve les noms sur le disque, mais elle permet aux applications de rechercher un fichier dans le système de fichiers en utilisant une version d'encodage équivalente à celle du nom du fichier.

dir_index
    Utiliser des arbresB hachés (hashed b-trees en anglais) pour accélérer la recherche de noms dans de grands répertoires. Cette fonctionnalité est prise en charge par les systèmes de fichiers ext3 et ext4, et est ignorée par les systèmes de fichiers ext2.

dir_nlink
    Normalement, ext4 n'autorise pas un inœud à avoir plus de 65 000 liens durs. Cela s'applique aussi bien aux fichiers ordinaires qu'aux répertoires, ce qui signifie qu'il ne peut pas y avoir plus de 64 998 sous-répertoires dans un répertoire (parce que chacune des entrées « . », « .. » et l'entrée du répertoire dans son répertoire parent compte comme des liens durs). Cette fonctionnalité lève la contrainte en faisant qu'ext4 utilise un nombre de liens de 1 pour indiquer que le nombre de liens durs à un répertoire n'est pas connu quand le nombre de liens peut excéder la limite maximale.

ea_inode
    Normalement, les attributs étendus d'un fichier et les métadonnées associées doivent tenir dans l'inœud ou dans le bloc d'attribut étendu associé à l'inœud. Cette fonctionnalité permet de placer la valeur de chaque attribut étendu dans les blocs de données d'un inœud séparé si nécessaire, augmentant la taille et le nombre d'attributs étendus par fichier.

encrypt
    Activer la prise en charge du chiffrement au niveau du système de fichiers des blocs de données et des noms de fichiers. Les métadonnées de l'inœud (horodatage, taille de fichier, propriété d'utilisateur/de groupe, etc.) ne sont pas chiffrées.

    Cette fonctionnalité est surtout utile sur les systèmes de fichiers avec plusieurs utilisateurs ou lorsque tous les fichiers ne doivent pas être chiffrés. Dans de nombreux cas, particulièrement sur les systèmes n'ayant qu'un seul utilisateur, le chiffrement au niveau du périphérique bloc en utilisant dm-crypt peut offrir une bien meilleure sécurité.

ext_attr
    Cette fonctionnalité active l'utilisation des attributs étendus. Cette fonctionnalité est prise en charge par ext2, ext3 et ext4.

extent
    Cette fonctionnalité d'ext4 permet la correspondance entre les numéros de blocs logiques pour un inœud particulier et les blocs physiques sur le périphérique de stockage qui seront stockés au moyen d'un arbre étendu, qui est une structure de données plus efficace que le schéma de bloc indirect traditionnel utilisé par les systèmes de fichiers ext2 et ext3. L'utilisation d'arbres étendus diminue le coût associé aux métadonnées des blocs, améliore les performances du système de fichiers et diminue le besoin de lancer e2fsck(8) sur le système de fichiers. (Remarque : les deux noms extent et extents sont considérés comme valables pour cette fonctionnalité pour des raisons historiques et de compatibilité ascendante).

extra_isize
    Cette fonctionnalité d'ext4 réserve une quantité précise de place dans chaque inœud pour les métadonnées étendues telles que les horodatages en nanosecondes et les temps de création de fichiers, même si le noyau actuel n'a pas besoin pour le moment de tant de place. Sans cette fonctionnalité, le noyau va réserver la quantité de place nécessaire pour les fonctionnalités dont il a besoin actuellement, et le reste sera utilisé par les attributs étendus. Pour que cette fonctionnalité soit utile, la taille des inœuds doit être d'au moins 256 octets.

filetype
    Cette fonctionnalité active le stockage de l'information du type de fichiers dans les entrées de répertoire. Cette fonctionnalité est prise en charge par ext2, ext3 et ext4.

flex_bg
    Cette fonctionnalité d'ext4 permet au groupe de métadonnées relatives au bloc (carte des allocations et table des inœuds) d'être placé n'importe où sur le périphérique de stockage. De plus, mke2fs placera ensemble les données de ce groupe, à partir du premier bloc du groupe de chaque « groupe flex_bg ». La taille du groupe flex_bg peut être précisée à l'aide de l'option -G.

has_journal
    Créer un journal pour assurer la cohérence du système de fichiers même après un arrêt brutal. Ajouter cette fonctionnalité du système de fichiers est équivalent à utiliser l'option -j avec mke2fs ou tune2fs. Cette fonctionnalité est prise en charge par ext3 et ext4, et ignorée par le pilote de système de fichiers ext2.

huge_file
    Cette fonctionnalité d'ext4 permet d'avoir des fichiers de plus de 2 téraoctets.

inline_data
    Permettre le stockage des données dans l'inœud et la zone d'attributs étendus.

journal_dev
    Cette fonctionnalité est activée sur le superbloc trouvé dans un périphérique de journal externe. La taille de bloc pour le journal externe doit être la même que celle du système de fichiers qui l'utilise.

    Le périphérique de journal externe peut être utilisé par un système de fichiers en indiquant à mke2fs(8) ou tune2fs(8) l'option -J device=<périphérique_externegt.

large_dir
    Cette fonctionnalité recule la limite du nombre de fichiers par répertoire en augmentant la taille maximale des répertoires et, pour les répertoires arbre-B hachés (voir dir_index), la profondeur maximale de l'arbre-B haché utilisé pour stocker les entrées de répertoire.

large_file
    Cette fonctionnalité est automatiquement activée par les noyaux récents lorsqu'un fichier de plus de 2 gigaoctets est créé. Les noyaux très anciens ne pouvaient pas gérer de si grands fichiers, et cette fonctionnalité était utilisée pour éviter à ces noyaux de monter les systèmes de fichiers qu'ils ne pouvaient pas comprendre.

metadata_csum
    Cette fonctionnalité d'ext4 active le calcul de sommes de contrôle sur les métadonnées. Cette fonctionnalité stocke les sommes de contrôle pour les types de métadonnées du système de fichiers (superbloc, blocs de descripteurs de groupe, cartes des inœuds et des blocs, répertoires et blocs d'arbre étendu). L'algorithme de somme de contrôle utilisé pour les blocs de métadonnées est différent de celui utilisé pour les descripteurs de groupe avec la fonctionnalité uninit_bg. Ces deux fonctionnalités sont incompatibles et metadata_csum sera utilisé de préférence à la place de uninit_bg.

metadata_csum_seed
    Cette fonctionnalité permet au système de fichiers de stocker la graine de la somme de contrôle dans le superbloc, autorisant l’administrateur à modifier l’UUID d’un système de fichiers en utilisant la fonctionnalité metadata_csum tout en étant monté.

meta_bg
    Cette fonctionnalité d'ext4 permet de redimensionner les systèmes de fichiers à chaud sans avoir besoin explicitement de réserver de la place pour l'augmentation de la taille des descripteurs de groupes de blocs. Cette méthode est aussi utilisée pour redimensionner les systèmes de fichiers qui font plus de 2^32 blocs. Il n'est pas recommandé d'activer cette fonctionnalité lors de la création d'un système de fichiers, étant donné que cette méthode alternative de stocker les descripteurs de groupe de bloc va augmenter le temps nécessaire à monter le système de fichiers. Les noyaux récents peuvent automatiquement activer cette fonctionnalité si nécessaire pendant un redimensionnement à chaud pendant lequel il n'y aurait plus de place réservée disponible dans l'inœud redimensionné.

mmp
    Cette fonctionnalité d'ext4 fournit une protection multiple de montage (« MMP »). Cette fonctionnalité contribue à la protection du système de fichiers contre les montages multiples et est utile dans les environnements de stockage partagé.

project
    Cette fonctionnalité d'ext4 fournit la prise en charge du quota de projet. Avec cette fonctionnalité, l'identifiant de projet de l'inœud sera géré lors du montage du système de fichiers.

quota
    Créer des inœuds de quota (inœud nº 3 pour le quota utilisateur, inœud nº 4 pour le quota de groupe) et les positionner dans le superbloc. Avec cette fonctionnalité, les quotas seront activés automatiquement lorsque le système de fichiers sera monté.

    Cette fonctionnalité implique que les fichiers de quota (c'est-à-dire user.quota et group.quota, qui existaient dans la version plus ancienne des quotas) sont cachés dans les inœuds.

resize_inode
    Cette fonctionnalité du système de fichiers indique que de la place a été réservée pour que le système de fichiers puisse étendre la table des descripteurs de groupe de blocs lors de son redimensionnement alors qu'il est monté. L'opération de redimensionnement à chaud est effectuée par le noyau et déclenchée par resize2fs(8). Par défaut, mke2fs essaie de réserver de la place pour que le système de fichiers puisse grossir de 1024 fois sa taille initiale. Cela peut être changé en utilisant l'option étendue resize.

    Cette fonctionnalité nécessite l'activation de la fonctionnalité sparse_super ou sparse_super2.

sparse_super
    Cette fonctionnalité de système de fichiers est activée sur tous les systèmes de fichiers ext2, ext3 et ext4 récents. Elle indique que les copies de sauvegarde des descripteurs de superblocs et de groupes de blocs sont présents seulement sur quelques groupes de blocs et non sur tous.

sparse_super2
    Cette fonctionnalité indique qu'il n'y aura au plus que deux superblocs de sauvegarde et deux descripteurs de groupes de blocs. Les groupes de blocs utilisés pour stocker les descripteurs de superblocs de sauvegarde et des groupes de blocs sont stockés dans le superbloc, mais typiquement, un sera situé au début du premier groupe de blocs et un autre dans le dernier groupe de blocs du système de fichiers. Cette fonctionnalité est essentiellement une version plus extrême de sparse_super et est conçue pour permettre qu'un plus grand pourcentage du disque soit constitué de blocs contigus disponibles pour les fichiers de données.

stable_inodes
    Marquer les numéros d'inœud et les UUID du système de fichiers comme stable. resize2fs(8) ne permettra pas de rétrécir un système de fichiers doté de cette fonctionnalité et tune2fs(8) de changer son UUID. Cette fonctionnalité permet l'utilisation de configurations de chiffrement spécialisées qui utilisent les numéros d'inœud et les UUID. Notez que la fonctionnalité encrypt nécessite encore d'être activée séparément. stable_inodes est une fonctionnalité « compat », aussi les anciens noyaux l'autorisent.

uninit_bg
    Cette fonctionnalité du système de fichiers ext4 indique que les descripteurs de groupes de blocs seront protégés à l'aide de sommes de vérification, rendant plus sûre la création par mke2fs(8) d'un système de fichiers sans initialisation de tous les groupes de blocs. Le noyau gardera une trace des inœuds inutilisés, et initialisera les tables d'inœuds et de blocs en différé. Cette fonctionnalité réduit le temps mis pour la vérification du système de fichiers avec e2fsck, ainsi que le temps nécessaire à mke2fs(8) pour créer le système de fichiers.

verity
    Activer la prise en charge de la protection de fichiers « verity ». Les fichiers « verity » sont en lecture seule et leurs données sont vérifiées de façon transparente par rapport à une arborescence de Merkle cachée après la fin du fichier. En utilisant le hachage racine d'une arborescence de Merkle, un fichier « verity » peut être authentifié efficacement, indépendamment de la taille du fichier.

    Cette fonctionnalité est surtout utile pour authentifier des fichiers importants en lecture seule sur des systèmes de fichiers accessibles en lecture-écriture. Si le système de fichiers lui-même est en lecture seule, l'utilisation de dm-verity pour authentifier le périphérique bloc en entier peut offrir une bien meilleure sécurité.'

OPTIONS DE MONTAGE
Cette section décrit les options de montages spécifiques à ext2, ext3 et ext4. D'autres options de montage génériques peuvent être aussi utilisées. Consultez mount(8) pour plus de détails.

Options de montage pour ext2
Le type de système de fichiers « ext2 » est le type standard pour les systèmes de fichiers Linux. Depuis Linux 2.5.46, les valeurs par défaut de la plupart des options de montage sont déterminées par le superbloc du système de fichiers. Vous pouvez les configurer avec tune2fs(8).

acl|noacl
    Prendre en charge (ou non) les listes de contrôle d'accès (ACL) POSIX. Consultez la page de manuel d'acl(5).

bsddf|minixdf
    Définir le comportement à adopter pour l'appel système statfs. Le comportement minixdf consiste à renvoyer dans le champ f_blocks le nombre total de blocs du système de fichiers, alors que le comportement bsddf (comportement par défaut) consiste à soustraire les blocs utilisés par le système de fichiers ext2 non disponibles pour le stockage. Ainsi on obtient :

    % mount /k -o minixdf; df /k; umount /k
    Système de fichiers | blocs de 1 K | Utilisé | Disponible | Capacité | Monté sur
    /dev/sda6 | 2630655 | 86954 | 2412169 | 3% | /k

    % mount /k -o bsddf; df /k; umount /k
    Système de fichiers | blocs de 1 K | Utilisé | Disponible | Capacité | Monté sur
    /dev/sda6 | 2543714 | 13 | 2412169 | 0% | /k

    (Remarquez que cet exemple montre que l'on peut, en ligne de commande, ajouter des options à celles mentionnées dans /etc/fstab).

check=none ou nocheck
    Aucune vérification n'est faite lors du montage. C'est le comportement par défaut. C'est rapide. Il est sage de lancer e2fsck(8) de temps en temps, par exemple à l'amorçage. Aucun autre comportement que celui par défaut n'est pris en charge (les options check=normal et check=strict ont été supprimées). Veuillez remarquer que ces options de montage n'ont pas besoin d'être prises en charge si le pilote ext4 du noyau est utilisé pour des systèmes de fichiers ext2 et ext3.

debug
    Afficher des informations de débogage lors de chaque (re)montage.

errors={continue|remount-ro|panic}
    Définir le comportement à adopter en cas d'erreur. L'erreur peut être ignorée en marquant simplement le système de fichiers comme étant corrompu, et continuer. Le système de fichiers peut également être remonté en lecture seule. Une panique du noyau peut sinon être déclenchée en forçant l'arrêt du système. Le comportement par défaut est défini dans le superbloc du système de fichiers et peut être configuré avec tune2fs(8).

grpid|bsdgroups et nogrpid|sysvgroups
    Ces options définissent le GID que reçoit un nouveau fichier créé. Quand grpid est positionné, le fichier reçoit le GID du répertoire dans lequel il est créé. Sinon (par défaut), il prend le fsgid du processus appelant, à moins que le répertoire ait son bit Set-GID positionné, auquel cas il reçoit le GID du répertoire parent, et s'il s'agit d'un nouveau répertoire, voit son bit Set-GID positionné.

grpquota|noquota|quota|usrquota
    L'option de montage usrquota (identique à quota) active la prise en charge du quota utilisateur sur le système de fichiers. grpquota active la prise en charge du quota de groupe. Les utilitaires de quota sont en fait nécessaires pour activer et gérer le système de quota.

nouid32
    Désactiver les UID et GID 32 bits. Cela permet l'interopérabilité avec les noyaux anciens qui ne gèrent que des valeurs 16 bits.

oldalloc ou orlov
    Utiliser l'ancienne allocation ou bien l'allocation Orlov pour les nouveaux inœuds. La valeur par défaut est l'allocation Orlov.

resgid=n et resuid=n
    Le système de fichiers ext2 réserve un certain pourcentage de l'espace disponible (par défaut 5 %, consultez mke2fs(8) et tune2fs(8)). Ces options déterminent qui peut utiliser ces blocs réservés (en gros, celui qui a l'UID indiqué ou qui appartient au groupe mentionné).

sb=n
    Au lieu d'utiliser le superbloc normal, utiliser un autre superbloc indiqué par n. On se sert de cette option lorsque le superbloc primaire a été corrompu. L'emplacement des superblocs de sauvegarde dépend de la taille des blocs du système de fichiers, du nombre de blocs par groupe et de fonctionnalités telles que sparse_super.

    D'autres superblocs de sauvegardes peuvent être retrouvés en utilisant le programme mke2fs avec l'option -n pour afficher les emplacements où les superblocs ont été créés en supposant qu'on a fourni à mke2fs des arguments cohérents avec la disposition du système de fichiers (par exemple la taille des blocs, le nombre de blocs par groupe, sparse_super, etc.).

    Le nombre de blocs utilise dans ce cas 1 Ko comme unité. Donc, si vous voulez utiliser un bloc logique de 32 178 Ko, utilisez « sb=131072 ».

user_xattr|nouser_xattr
    Prendre en charge (ou non) les attributs étendus « user. ».

Options de montage pour ext3
Le système de fichiers ext3 est une version du système de fichiers ext2 à laquelle a été ajoutée la journalisation. Il prend en charge les mêmes options que ext2 ainsi que les suivantes :

journal_dev=num_pér/journal_path=chemin
    Si les numéros majeur et mineur du périphérique de journal externe ont été modifiés, ces options permettent à l'utilisateur d'indiquer le nouvel emplacement du journal. Le périphérique de journal est identifié soit à l'aide de ses nouveaux numéros majeur et mineur encodés dans num_pér, soit à l’aide du chemin vers le périphérique.

norecovery/noload
    Ne pas charger le journal lors du montage. Remarquez que si le système de fichiers n'était pas monté proprement, sauter la relecture du journal entraînera des incohérences dans le contenu du système de fichiers, pouvant entraîner un certain nombre de problèmes.

data={journal|ordered|writeback}
    Indiquer le mode de journalisation pour les données des fichiers. Les métadonnées sont toujours journalisées. Pour utiliser un mode autre que ordered sur le système de fichiers racine, passer le mode au noyau en tant que paramètre d'amorçage, par exemple : rootflags=data=journal.

    journal
        Toutes les données sont inscrites dans le journal avant d'être écrites dans le système de fichiers principal.

    ordered
        C'est le mode par défaut. Toutes les données sont envoyées dans le système de fichiers principal avant d'inscrire les métadonnées dans le journal.

    writeback
        L'ordre des données n'est pas préservé. Les données peuvent être écrites dans le système de fichiers après que les métadonnées soient inscrites dans le journal. C’est probablement l'option à plus haut débit. Elle garantit l'intégrité interne du système de fichiers, mais d'anciennes données peuvent apparaître dans un fichier après un plantage et une récupération du journal.

data_err=ignore
    Afficher simplement un message d'erreur si une erreur survient dans un tampon de données de fichiers en mode ordonné.

data_err=abort
    Abandonner le journal si une erreur survient dans un tampon de données de fichiers en mode ordonné.

barrier=0 / barrier=1
    Cette option désactive (barrier=0) ou active (barrier=1) l'utilisation de barrières d'écriture dans le code jbd. Elle est activée par défaut. Elle nécessite aussi une pile d'entrée/sortie qui peut prendre en charge les barrières, et si jbd reçoit une erreur sur une barrière d'écriture, il désactivera à nouveau les barrières avec un avertissement. Les barrières d'écriture forcent un ordre correct sur le disque des écritures du journal, en faisant des caches d'écriture sur disque volatiles sûrs, avec un impact négatif sur les performances. Si les disques sont alimentés par des batteries d'une manière ou d'une autre, désactiver les barrières peut améliorer les performances en toute sécurité.

commit=nsec
    Démarrer une inscription dans le journal toutes les nsec secondes. La valeur par défaut est 5 secondes. Zéro signifie la valeur par défaut.

user_xattr
    Activer les attributs étendus. Consultez la page de manuel attr(5).

jqfmt={vfsold|vfsv0|vfsv1}
    En plus de l'ancien système de quota (comme dans ext2, jqfmt=vfsold, aussi connu sous le nom de quota version 1), ext3 prend en charge aussi des quotas journalisés (quota version 2). jqfmt=vfsv0 ou jqfmt=vfsv1 active les quotas journalisés. L'avantage des quotas journalisés est qu'ils ne nécessitent pas de vérification de quota même après un plantage. Quand la fonctionnalité de système de fichiers quota est activée, les quotas journalisés sont utilisés automatiquement et cette option de montage est ignorée.

usrjquota=aquota.user|grpjquota=aquota.group
    Pour les quotas journalisés (jqfmt=vfsv0 ou jqfmt=vfsv1), les options de montage usrjquota=aquota.user et grpjquota=aquota.group sont requises pour dire au système de quota quels fichiers de base de données de quotas utiliser. Quand la fonctionnalité de système de fichiers quota est activée, les quotas journalisés sont utilisés automatiquement est cette option de montage est ignorée.

Options de montage pour ext4
Le système de fichiers ext4 est un niveau plus élevé du système de fichiers ext3 intégrant des améliorations au niveau de l'évolutivité et de la fiabilité, afin de gérer des systèmes de fichiers de grande taille. Les options journal_dev, journal_path, norecovery, noload, data, commit, orlov, oldalloc, [no]user_xattr, [no]acl, bsddf, minixdf, debug, errors, data_err, grpid, bsdgroups, nogrpid, sysvgroups, resgid, resuid, sb, quota, noquota, grpquota, usrquota, usrjquota, grpjquota et jqfmt sont rétrocompatibles avec ext2 et ext3.

journal_checksum | nojournal_checksum
    L'option journal_checksum active les sommes de contrôles pour les transactions du journal. Cela permet au code de récupération de e2fsck et au noyau de détecter des corruptions dans le noyau. C'est un changement compatible qui sera ignoré par les anciens noyaux.

journal_async_commit
    Les blocs d'inscription peuvent être écrits sur le disque sans attendre de descripteur de blocs. Si cela est activé avec un vieux noyau, le périphérique ne pourra pas être monté. Cela activera en interne journal_checksum.

barrier=0 / barrier=1 / barrier / nobarrier
    Ces options de montage ont le même effet qu'avec ext3. Les options de montage « barrier » et « nobarrier » sont ajoutées pour la cohérence avec les autres options de montage d'ext4. Le système de fichiers ext4 active les barrières d'écriture par défaut.

inode_readahead_blks=n
    Ce paramètre définit le nombre maximal de blocs de table d'inœuds que l'algorithme « readahead » de la table d'inœuds d'ext4 va prélire dans la mémoire cache. La valeur doit être une puissance de 2. La valeur par défaut est de 32 blocs.

stripe=n
    Nombre de blocs du système de fichiers que mballoc essayera d'utiliser pour la taille d'allocation et l'alignement. Pour les systèmes RAID 5 ou 6, cela devrait être le nombre de disques de données multiplié par la taille de morceau (« chunk ») RAID dans les blocs du système de fichiers.

delalloc
    Reporter l'allocation des blocs après les écritures.

nodelalloc
    Désactiver les allocations retardées. Les blocs sont alloués lorsque les données sont copiées depuis le cache utilisateur vers le cache de page.

max_batch_time=usec
    Durée maximale pendant laquelle ext4 devrait attendre des opérations supplémentaires sur le système de fichiers afin de les grouper pour une écriture synchrone. Puisque l'opération d'écriture synchrone va forcer une inscription des données et attendre la fin des entrées/sorties, qu'elle est peu coûteuse et peut représenter un gain significatif de débit, ext4 attend un petit peu pour voir si d'autres transactions peuvent être englobées dans l'écriture synchrone. L'algorithme utilisé est conçu pour faire des réglages automatiquement en fonction de la vitesse du disque, en mesurant le temps (moyen) d'une inscription complète d'une transaction. Ce temps est appelé « temps d'inscription » (« commit time »). Si le temps pendant lequel une transaction est en cours est inférieur au temps d'inscription, ext4 essaiera de dormir pendant une durée égale au temps d'inscription pour voir si d'autres opérations vont se joindre à la transaction. Le temps d'inscription est majoré par la valeur max_batch_time, qui vaut par défaut 15 000 µs (ou 15 ms). Cette optimisation peut être désactivée complètement en affectant la valeur 0 à max_batch_time.

min_batch_time=usec
    Ce paramètre définit le temps d'inscription des données (comme décrit ci-dessus) qui doit être au moins égal à min_batch_time. La valeur par défaut est zéro microseconde. Augmenter ce paramètre peut améliorer le débit des charges de travail synchrones multiprocessus sur les disques très rapides, tout cela augmentant le temps de latence.

journal_ioprio=prio
    La priorité d'entrées et sorties (de 0 à 7, où 0 est la priorité la plus haute) qui doit être utilisée pour les opérations d'entrées et sorties soumises par kjournald2 durant une opération d'inscription. La priorité par défaut est 3, ce qui est légèrement supérieur à la priorité par défaut.

abort
    Simuler les effets d'un appel ext4_abort() dans un but de débogage. C'est normalement utilisé lors du remontage d'un système de fichiers qui est déjà monté.

auto_da_alloc|noauto_da_alloc
    Beaucoup d'applications déficientes n'utilisent pas fsync() lors du remplacement des fichiers existants avec un motif comme fd = open("toto.new")/write(fd,...)/close(fd)/ rename("toto.new", "toto") ou pire encore fd = open("toto", O_TRUNC)/write(fd,...)/close(fd). Si auto_da_alloc est activé, ext4 détectera les motifs de « remplacement par renommage » et de « remplacement par troncature », et forcera l'allocation de tout bloc d'allocation retardé tel qu'à la prochaine inscription dans le journal, en mode data=ordered par défaut, les blocs de données du nouveau fichier sont envoyés sur le disque avant que l'opération rename() ne soit inscrite. Cela fournit approximativement le même niveau de garantie que ext3, et évite le problème de « longueur nulle » qui peut survenir lors d'un arrêt brutal du système avant que les blocs d'allocation retardés ne soient envoyés au disque.

noinit_itable
    Ne pas initialiser les blocs non initialisés de la table des inœuds en tâche de fond. Cette fonctionnalité peut être utilisée par les CD d'installation afin que le processus d'installation termine le plus vite possible. Le processus d'initialisation de la table des inœuds serait alors reporté au prochain montage du système de fichiers.

init_itable=n
    Le code d'initialisation différée de la table d'inœuds attendra n fois le nombre de millisecondes qu'il a pris pour mettre à zéro la table d'inœuds du groupe de blocs précédent. Cela minimise l'impact sur les performances du système pendant l'initialisation de la table d'inœuds du système de fichiers.

discard/nodiscard
    Contrôler si ext4 doit envoyer des commandes discard et TRIM au périphérique bloc sous-jacent quand les blocs sont libérés. C'est utile pour les périphériques SSD et l'allocation fine et dynamique (« thinly-provisioned LUN »), mais l'option n'est pas activée par défaut avant des tests suffisants aient été réalisés.

block_validity/noblock_validity
    Cette option permet d'activer ou désactiver la fonction interne du noyau de suivi des blocs de métadonnées de système de fichiers dans les structures de données internes. Cela permet à l'allocation multiblocs et à d'autres routines de localiser rapidement celles qui pourraient se superposer avec des blocs de métadonnées de système de fichiers. Cette option est conçue pour le débogage et, puisqu'elle a des effets négatifs sur les performances, elle est désactivée par défaut.

dioread_lock/dioread_nolock
    Contrôler si ext4 devrait ou non utiliser le verrouillage de lecture DIO. Si l'option dioread_nolock est indiquée, ext4 allouera les extensions non initialisées avant l'écriture du tampon et initialisera les extensions après la fin des entrées et sorties. Cette approche permet au code ext4 d'éviter l'utilisation d'inœud mutex, ce qui améliore l'évolutivité sur les stockages à grande vitesse. Cependant cela ne fonctionne pas avec la journalisation de données et l'option dioread_nolock sera ignorée avec des avertissements du noyau. Remarquez que le chemin du code dioread_nolock n'est utilisé que pour les fichiers à base d'extensions. À cause des restrictions accompagnant cette option, elle est désactivée par défaut (c'est-à-dire dioread_lock).

max_dir_size_kb=n
    Cette option limite la taille des répertoires de sorte que toute tentative de les faire croître au-delà de la limite indiquée (en kilooctets) causera une erreur ENOSPC. C'est utile dans des environnements avec des contraintes de mémoire, où un très grand répertoire peut causer de gros problèmes de performance ou même provoquer le mécanisme de tuage de processus en l'absence de mémoire (« Out Of Memory killer »). Par exemple, s'il y a seulement 512 MB de mémoire disponible, un répertoire de 176 MB pourrait sérieusement monopoliser les ressources du système.

i_version
    Activer la prise en charge de version d'inœud 64 bits. Cette option est désactivée par défaut.

nombcache
    Cette option désactive l'utilisation de mbcache pour la déduplication d'attributs étendus. Sur les systèmes où les attributs sont rarement ou jamais partagés entre les fichiers, l'utilisation de mbcache pour la déduplication ajoute une charge de calcul inutile.

prjquota
    L'option de montage prjquota active la prise en charge du quota de projet sur le système de fichiers. Les utilitaires de quota sont en fait nécessaires pour activer et gérer le système de quota. Cette option de montage nécessite la fonctionnalité project du système de fichiers.

ATTRIBUTS DE FICHIERS
Les systèmes de fichiers ext2, ext3 et ext4 prennent en charge la définition des attributs de fichiers suivants sur les systèmes Linux avec l'outil chattr(1) :

a – ajout à la fin du fichier seulement

A – pas de mise à jour du temps d'accès (« atime »)

d – pas de sauvegarde par le programme dump

D – mises à jour synchrones des répertoires

i – immuable

S – mises à jour synchrones

u – ineffaçable

En plus, les systèmes de fichiers ext3 et ext4 prennent en charge l'attribut suivant :

j – journalisation des données

Enfin, le système de fichiers ext4 prend aussi en charge l'attribut suivant :

e – format des extensions (« extents »)

Pour les descriptions de ces attributs, veuillez consulter la page de manuel de chattr(1).

PRISE EN CHARGE PAR LE NOYAU
Cette section liste le pilote du système de fichiers (par exemple ext2, ext3, ext4) et la version amont du noyau où une fonctionnalité particulière du système de fichiers a été prise en charge. Notez que dans certains cas, la fonctionnalité est présente dans des versions antérieures du noyau, mais qu'elle y avait des bogues sérieux. Dans d'autres cas, la fonctionnalité peut encore être considérée comme étant expérimentale. Enfin, notez que certaines distributions peuvent avoir rétroporté des fonctionnalités dans des noyaux plus anciens ; en particulier les versions du noyau dans certaines « distributions d'entreprise » peuvent être extrêmement trompeuses.

filetype
    ext2, 2.2.0

sparse_super
    ext2, 2.2.0

large_file
    ext2, 2.2.0

has_journal
    ext3, 2.4.15

ext_attr
    ext2/ext3, 2.6.0

dir_index
    ext3, 2.6.0

resize_inode
    ext3, 2.6.10 (redimensionnement à chaud)

64bit
    ext4, 2.6.28

dir_nlink
    ext4, 2.6.28

extent
    ext4, 2.6.28

extra_isize
    ext4, 2.6.28

flex_bg
    ext4, 2.6.28

huge_file
    ext4, 2.6.28

meta_bg
    ext4, 2.6.28

uninit_bg
    ext4, 2.6.28

mmp ext4, 3.0

bigalloc
    ext4, 3.2

quota
    ext4, 3.6

inline_data
    ext4, 3.8

sparse_super2
    ext4, 3.16

metadata_csum
    ext4, 3.18

encrypt
    ext4, 4.1

metadata_csum_seed
    ext4, 4.4

project
    ext4, 4.5

ea_inode
    ext4, 4.13

large_dir
    ext4, 4.13

casefold
    ext4, 5.2

verity
    ext4, 5.4

stable_inodes
    ext4, 5.5

VOIR AUSSI
mke2fs(8), mke2fs.conf(5), e2fsck(8), dumpe2fs(8), tune2fs(8), debugfs(8), mount(8), chattr(1)

TRADUCTION
La traduction française de cette page de manuel a été créée par Gérard Delafond <gerard@delafond.org>, Frédéric Delanoy <delanoy_f@yahoo.com>, Thierry Vignaud <tvignaud@mandriva.com>, Sébastien Blanchet, Emmanuel Araman <Emmanuel@araman.org>, Éric Piel <eric.piel@tremplin-utc.net>, Nicolas François <nicolas.francois@centraliens.net>, Romain Doumenc <rd6137@gmail.com>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.