2

Почему BTRFS так сильно искажает размер небольших файлов в моей файловой системе?

[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 , обычный mkfs.btrfs)
  • Linux Kernel 3.18
  • RAID1

Итак, кажется, что BTRFS округляет файлы до 1 МБ с некоторым порогом. Этот 1 МБ составляет ровно 1048576 (или 2 ⁰) байтов.

Что еще более удивительно, cat __init__.py > __init__2.py создает новый файл правильного размера. Это как-то связано с тем, что я создал эти файлы через samba?

Вновь созданные файлы также имеют правильный размер.

1 ответ1

1

Оказывается, просто переписав все файлы на месте:

find . -type f -exec /usr/bin/echo {} \; -exec sed -i '' {} \;

Правильно сжал файлы. Я не видел, чтобы это случилось снова.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .