Acaba de reescrever todos os arquivos no local:
find . -type f -exec /usr/bin/echo {} \; -exec sed -i '' {} \;
Corrigimos os arquivos. Eu não vi isso acontecer novamente.
Por que é que o BTRFS cita erroneamente o tamanho de arquivos pequenos no meu sistema de arquivos?
[pi@rpi scipy]% cat __init__.py | wc -c # literal byte count
4729
[pi@rpi scipy]% du --apparent-size -h __init__.py # size on filesystem (same)
4.7K __init__.py
[pi@rpi scipy]% du -h __init__.py # reported size to ls
1.0M __init__.py
defaults
, simples mkfs.btrfs
) Ok, isso indica que o BTRFS está arredondando arquivos de até 1 MB em algum limite. Esse 1MB é exatamente 1048576 (ou 2²⁰) bytes.
Mais surpreendentemente, cat __init__.py > __init__2.py
cria um novo arquivo com o tamanho correto. Isso tem algo a ver com o fato de eu ter criado esses arquivos no samba?
Os arquivos recém-criados também têm o tamanho correto.
Acaba de reescrever todos os arquivos no local:
find . -type f -exec /usr/bin/echo {} \; -exec sed -i '' {} \;
Corrigimos os arquivos. Eu não vi isso acontecer novamente.
Tags samba btrfs linux filesystems disk-space