9.7. Carte des points de repère
Le mappage des blocs est une tâche essentielle pour tout système de fichiers. GFS2 utilise un système traditionnel basé sur la cartographie avec deux bits par bloc. L'objectif principal des tracepoints dans ce sous-système est de permettre le contrôle du temps nécessaire à l'allocation et au mappage des blocs.
Le tracepoint gfs2_bmap
est appelé deux fois pour chaque opération bmap : une fois au début pour afficher la requête bmap, et une fois à la fin pour afficher le résultat. Il est ainsi facile de faire correspondre les demandes et les résultats et de mesurer le temps nécessaire pour mapper des blocs dans différentes parties du système de fichiers, différents décalages de fichiers ou même différents fichiers. Il est également possible de voir quelles sont les tailles d'étendue moyennes renvoyées par rapport à celles demandées.
Le point de contrôle gfs2_rs
suit les réservations de blocs au fur et à mesure de leur création, de leur utilisation et de leur destruction dans l'allocateur de blocs.
Pour garder une trace des blocs alloués, gfs2_block_alloc
est appelé non seulement lors des allocations, mais aussi lors de la libération des blocs. Comme les allocations sont toutes référencées en fonction de l'inode auquel le bloc est destiné, il est possible de savoir quels blocs physiques appartiennent à quels fichiers dans un système de fichiers actif. Ceci est particulièrement utile lorsqu'il est combiné avec blktrace
, qui montrera les schémas d'E/S problématiques qui peuvent alors être renvoyés aux inodes pertinents en utilisant la cartographie obtenue au moyen de ce tracepoint.
Direct I/O (iomap
) est une politique de cache alternative qui permet aux transferts de données de fichiers de se produire directement entre le disque et la mémoire tampon de l'utilisateur. Cela présente des avantages dans les situations où le taux d'atteinte du cache est censé être faible. Les points de trace gfs2_iomap_start
et gfs2_iomap_end
retracent ces opérations et peuvent être utilisés pour garder une trace du mappage utilisant l'E/S directe, les positions sur le système de fichiers de l'E/S directe ainsi que le type d'opération.