# btrfs filesystem defragment -r -v -czstd:15 /
ERROR: unknown compression type zstd:15
# btrfs filesystem defragment -r -v -czstd_15 /
ERROR: unknown compression type zstd_15
# btrfs filesystem defragment -r -v -czstd15 /
ERROR: unknown compression type zstd15
A página de manual do btrfs não fornece pistas sobre como selecionar um nível de compactação:
-c[algo]
comprima o conteúdo do arquivo durante a desfragmentação. O argumento opcional seleciona o algoritmo de compactação, zlib (padrão), lzo ou zstd. Atualmente não é possível selecionar nenhuma compressão. Veja também a seção EXEMPLOS.
Como selecionar um nível de compactação zstd não padrão para compactar novamente os sistemas de arquivos btrfs existentes?
Aviso: A desfragmentação com versões do kernel do Linux < 3.9 ou ≥ 3.14-rc2, bem como com versões estáveis do kernel do Linux ≥ 3.10.31, ≥ 3.12.12 ou ≥ 3.13.4 irá quebrar os links de referência dos dados COW (por exemplo, arquivos copiado com cp --reflink, instantâneos ou dados duplicados). Isso pode causar um aumento considerável no uso do espaço, dependendo dos links de referência quebrados.
Kernel 5.1 adicionou suporte ao nível ZSTD. Eu testei com rc1 hoje usando uma opção de montagem compress=zstd:12 em /etc/fstab. O nível padrão é 3. Para ser claro: a alteração afeta apenas os arquivos que são gravados após este comando de montagem. Alguns resultados de benchmark: https://lkml.org/lkml/2019/1/28/1930
Ainda não (28 de dezembro de 2017) possível:
fonte: https://btrfs.wiki.kernel.org/index.php/Compression
Tentar:
Após esse comando ' findmnt ' exibe ' compress=zstd:9 ' opção de montagem :)