C.7. Tracepoints de Bmap
Mapeamento de bloco é uma tarefa fundamental para qualquer sistema de arquivos. GFS2 usa um sistema tradicional baseado em bitmap com dois bits por bloco. O principal objetivo dos tracepoints neste subsistema é permitir o monitoramento do tempo necessário para alocar e blocos do mapa.
O tracepoint
gfs2_bmap
é chamado duas vezes para cada operação bmap: uma vez no início para apresentar o pedido bmap, e uma vez no final para exibir o resultado. Isto facilita ao coincidir com as solicitações e resultados e medir o tempo necessário para mapear blocos em diferentes partes do sistema de arquivos, diferentes deslocamentos de arquivo, ou até mesmo de arquivos diferentes. Também é possível ver qual a média de tamanhos de extensão retornados comparado àqueles que estão sendo solicitados.
Para manter o controle de blocos alocados, o
gfs2_block_alloc
é chamado não somente em alocações, mas como também em liberações de blocos. Como as alocações são todas referenciadas de acordo com os inodes para qual o bloco é pretendido, isto pode ser usado para rastrear quais blocos físicos pertencem à quais arquivos em um sistema de arquivo ao vivo. Isto é particularmente útil quando combinado com o blktrace
, que exibirá modelos de I/O problemáticos, que podem ser referenciados de volta à inodes relevantes, utilizando o mapeamento obtido através deste tracepoint.