Eu tenho meu sistema para fsck todos os fs em todas as reinicializações. E forcei o fsck agora mesmo. Ainda assim, recebo:
$ sudo fsck -vn /dev/lvmroot/root
fsck from util-linux 2.40.2
e2fsck 1.47.1 (20-May-2024)
Warning! /dev/mapper/lvm/root is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
root has been mounted 1 times without being checked, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (12783960, counted=12783944).
Fix? no
Free inodes count wrong (5263640, counted=5263625).
Fix? no
Feature orphan_present is set but orphan file is clean.
Clear? no
503528 inodes used (8.73%, out of 5767168)
271 non-contiguous files (0.1%)
237 non-contiguous directories (0.0%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 448994/96
10284712 blocks used (44.58%, out of 23068672)
0 bad blocks
5 large files
409720 regular files
37767 directories
0 character device files
0 block device files
0 fifos
4248 links
56022 symbolic links (54421 fast symbolic links)
24 sockets
------------
507781 files
Devo sair da minha zona de conforto para consertar isso?
Os blocos livres e a contagem de inodes no superbloco não são mantidos atualizados durante as operações normais do sistema de arquivos. Isso é para evitar um único ponto de contenção quando vários threads estão modificando o sistema de arquivos ao mesmo tempo.
Em vez de manter o superbloco atualizado em tempo de execução, os blocos e inodes livres são lidos dos descritores de grupo em tempo de montagem e mantidos na memória. Como há muitos milhares ou milhões de descritores de grupo no sistema de arquivos, há baixa contenção para bloquear essas estruturas individuais em tempo de execução.