LINUX.ORG.RU

Дефолтный метод сжатия BTRFS для директорий с флагом +с

 , , ,


0

4

Погодите копипастить «zlib» из гугля, у меня тут странное:

compsize /media/aidaho/fatty/home/
Processed 24520254 files, 8197553 regular extents (8197556 refs), 16985253 inline.
Type       Perc     Disk Usage   Uncompressed Referenced
TOTAL       90%      518G         571G         571G
none       100%      493G         493G         493G
zlib        48%      810M         1.6G         1.6G
zstd        31%       24G          76G          76G

Данные скопированы сегодня ночью rsync в один присест на том с chattr +c в корне
/dev/mapper/luks-410ab3f2-184d-464c-a613-b12df9b3a95f on /media/aidaho/fatty type btrfs (rw,nosuid,nodev,relatime,space_cache,subvolid=5,subvol=/,uhelper=udisks2)


Я что-то пропустил и btrfs теперь ещё и автоматически подбирает метод сжатия, если он не указан во время монтирования?
Копировалось с ext4, поэтому вариант с прямым копипастом сжатых блоков отпадает.
udisks2 вроде за премонтированиями на ровном месте тоже не замечен.

Других рациональных объяснений пока нет.

★★★★★

Дефолтный метод сжатия BTRFS для директорий с флагом +с

Сделай btrfs prop get на том каталоге, на котором ты поставил chattr +c. Возможно, там действительно zstd.

А вообще у меня про это есть другой вопрос. Как так получается, что вне зависимости от выбранного алгоритма сжатия через какое-то время на диске оказываются экстенты, сжатые zlib?

# mount / --bind --make-rprivate /tmp/rootfs

# btrfs prop get /tmp/rootfs
ro=false
label=linux-root
compression=zstd

# compsize /tmp/rootfs
Processed 619456 files, 457438 regular extents (459744 refs), 270078 inline.
Type       Perc     Disk Usage   Uncompressed Referenced
TOTAL       67%       16G          24G          23G
none       100%       12G          12G          12G
zlib        33%      241M         725M         725M
zstd        32%      3.5G          10G          10G
intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

Как так получается, что вне зависимости от выбранного алгоритма сжатия через какое-то время на диске оказываются экстенты, сжатые zlib?

Там с самого начала был выбран zstd?

greenman ★★★★★ ()
Ответ на: комментарий от greenman

Может быть. А какие «служебные данные»? compsize — это про экстенты самих файлов.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Да, действительно:

root@optiplex:/home/aidaho# btrfs prop get /media/aidaho/fatty
ro=false
label=fatty
compression=zstd

Тем не менее оно таки решило часть пожать zlib.

aidaho ★★★★★ ()
Ответ на: комментарий от intelfx

Ради интереса, запустил btrfs filesystem defrag -czstd.
Посмотрим, сделает ли он что-то с zlib блоками.

aidaho ★★★★★ ()
Ответ на: комментарий от intelfx

Причём самих файлов с compression=zlib я найти не могу. Магия, да и только.

Метод компрессии устанавливается для каждого экстента в отдельности. Поэтому один файл может быть сжат/не сжат несколькимими алгоритмами одновременно.

По второму вопросу. A zstd уже работает с inline extents?

i586 ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.