allo Asked: 2023-09-12 01:54:54 +0800 CST2023-09-12 01:54:54 +0800 CST 2023-09-12 01:54:54 +0800 CST “btrfs filesystem defrag -c”(压缩选项)是否强制压缩? 772 启用压缩的 BTRFS 使用启发式方法来不压缩不能很好压缩的文件。使用“btrfs filesystem defrag -c”压缩现有文件是否也使用启发式,或者是否压缩所有文件,即使它们不能很好地压缩? compression 1 个回答 Voted Best Answer shodanshok 2023-09-12T04:00:34+08:002023-09-12T04:00:34+08:00 btrfs filesystem defrag -c似乎强制压缩,只有在初始压缩尝试没有成果并且文件系统未安装compress-force. 为了证明这一点,我创建了一个文件,其中包含前 1M 不可压缩数据,随后是 128K 可压缩数据(即:文本文件)。该文件使用各种选项存储/tmp并复制到 btrfs 挂载点: # compress=lzo: no actual compression root@debian12:~# mount /dev/zvol/tank/vol1 /mnt/ -o compress=lzo root@debian12:~# cp /tmp/random.img /mnt/ root@debian12:~# sync root@debian12:~# compsize /mnt/random.img Processed 1 file, 1 regular extents (1 refs), 0 inline. Type Perc Disk Usage Uncompressed Referenced TOTAL 100% 1.1M 1.1M 1.1M none 100% 1.1M 1.1M 1.1M # compress=lzo + defrag: compressed, but 'm' (incompressible) flag set root@debian12:~# btrfs filesystem defrag -c -r /mnt/ root@debian12:~# sync root@debian12:~# compsize /mnt/random.img Processed 1 file, 3 regular extents (3 refs), 0 inline. Type Perc Disk Usage Uncompressed Referenced TOTAL 90% 1.0M 1.1M 1.1M none 100% 1.0M 1.0M 1.0M zlib 15% 20K 128K 128K root@debian12:~# lsattr /mnt/random.img ---------------------m /mnt/random.img # compress-force=lzo: some limited compression root@debian12:~# mount /dev/zvol/tank/vol1 /mnt/ -o compress-force=lzo root@debian12:~# cp /tmp/random.img /mnt/ root@debian12:~# sync root@debian12:~# compsize /mnt/random.img Processed 1 file, 3 regular extents (3 refs), 0 inline. Type Perc Disk Usage Uncompressed Referenced TOTAL 96% 1.0M 1.1M 1.1M none 100% 1.0M 1.0M 1.0M lzo 68% 88K 128K 128K # compress-force=lzo + defrag: better compression and no 'm' flag root@debian12:~# compsize /mnt/random.img Processed 1 file, 3 regular extents (3 refs), 0 inline. Type Perc Disk Usage Uncompressed Referenced TOTAL 90% 1.0M 1.1M 1.1M none 100% 1.0M 1.0M 1.0M zlib 15% 20K 128K 128K root@debian12:~# lsattr /mnt/random.img ---------------------- /mnt/random.img
btrfs filesystem defrag -c
似乎强制压缩,只有在初始压缩尝试没有成果并且文件系统未安装compress-force
.为了证明这一点,我创建了一个文件,其中包含前 1M 不可压缩数据,随后是 128K 可压缩数据(即:文本文件)。该文件使用各种选项存储
/tmp
并复制到 btrfs 挂载点: