在 2021-05-11星期二的 22:57 +0800,Qiyu Yan写道: > Dear folks, > > My problem is that new file created at /usr won't be compressed. > > I accenticly that none of my files under /usr is compressed[1], so I > tried to run `sudo btrfs fi def -czstd -v -r /usr` to compress them, > that seems to work. And `sudo compsize /usr` now gives > Processed 431312 files, 224528 regular extents (230971 refs), 253758 > inline. > Type Perc Disk Usage Uncompressed Referenced > TOTAL 56% 7.2G 12G 13G > none 100% 3.5G 3.5G 3.5G > zstd 39% 3.6G 9.2G 9.7G > > This seems pretty good, but when I am testing dding to dump a file to > /usr to test compress for new file, problem happens: > > [root@yan-desktop /]# dd if=/dev/zero of=/usr/1 bs=10240 count=10000 > 记录了10000+0 的读入 > 记录了10000+0 的写出 > 102400000字节(102 MB,98 MiB)已复制,0.0426441 s,2.4 GB/s > [root@yan-desktop /]# dd if=/dev/zero of=/etc/1 bs=10240 count=10000 > 记录了10000+0 的读入 > 记录了10000+0 的写出 > 102400000字节(102 MB,98 MiB)已复制,0.0585055 s,1.8 GB/s > [root@yan-desktop /]# compsize /usr/1 > Processed 1 file, 1 regular extents (1 refs), 0 inline. > Type Perc Disk Usage Uncompressed Referenced > TOTAL 100% 97M 97M 97M > none 100% 97M 97M 97M > [root@yan-desktop /]# compsize /etc/1 > Processed 1 file, 782 regular extents (782 refs), 0 inline. > Type Perc Disk Usage Uncompressed Referenced > TOTAL 3% 3.0M 97M 97M > zstd 3% 3.0M 97M 97M > > Just ignore those Chinese output by dd, it doesn't important... But > as > you can see: file created at /usr/1 is not compressed at all while > file > created at /etc/1 gets compressed. There should not be any difficult > to > compress all-zero contents for zstd. > > There should not be so much difference between /usr and /etc, they > are > in same subvolume named "root" mounted at /. > > [root@yan-desktop /]# btrfs su li / > ID 256 gen 1530662 top level 5 path home > ID 257 gen 1530662 top level 5 path root > ID 266 gen 1530614 top level 257 path var/lib/machines > ID 292 gen 1530585 top level 257 path var/lib/mock > ...[some container storage subvolumes] > > and mount options for / is > rw,noatime,seclabel,compress=zstd:3,ssd,space_cache=v2,subvolid=257,s > ub > vol=/root (subvol=root,noatime,compress=zstd in fstab) > > lsattr /|grep -E "var|etc" gives > -------------------- /etc > -------------------- /var > > `btrfs property get /usr` or `btrfs property get /etc` gives empty > output. > > How do I troubleshoot this problem? > > [1] That is also a problem since I setup compress after upgrading to > fedora 34, and have done many package updates since then. So new > extents written to /usr should be compressed while compsize reports > none of them. > And by setting compress-force=zstd, new files in /usr will get compressed as expected. I suspect there to be something wrong with the compressible check process builtin in btrfs? -- Qiyu Yan GPG keyid: 0x4FC914F065F2DF12 About: https://fedoraproject.org/wiki/User:Yanqiyu
Attachment:
signature.asc
Description: This is a digitally signed message part
_______________________________________________ users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/users@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure