C.7. Tracepoint Bmap
La mappatura del blocco è un compito importante in qualsiasi file system. GFS2 utilizza un sistema basato sul bitmap con due bit per blocco. In questo sottosistema lo scopo principale dei tracepoint è quello di monitorare il tempo necessario per assegnare e mappare i blocchi.
Per ogni operazione bmap il tracepoint
gfs2_bmap
viene invocato due volte: la prima volta all'inizio per visualizzare la richiesta bmap, la seconda per visualizzare il risultato. Ciò facilita la corrispondenza delle richieste e dei risultati, e la misurazione del tempo necessario per mappare i blocchi nelle diverse parti del file system, in offset diversi del file o anche in file diversi. È altresì possibile visualizzare le dimensioni medie ritornate rispetto a quelle richieste.
Per controllare i blocchi assegnati
gfs2_block_alloc
viene invocato non solo durante le operazioni di assegnazione, ma anche durante il processo di liberazione dei blocchi stessi. Poichè tutte le allocazioni si riferiscono all'inode per le quali è inteso il blocco, ciò può essere utilizzato per controllare quali blocchi fisici appartengono ai file di un file system attivo. Questa operazione è particolarmente utile se usata insieme con blktrace
, il quale è in grado di mostrare i percorsi I/O con problematiche relative che potrebbero far riferimento agli inode rilevanti, utilizzando la mappatura disponibile tramite questo tracepoint.