A compactação BTRFS foi projetada para se encaixar de maneira eficiente com todo o design do CopyOnWrite. Eu uso os dois juntos e posso confirmar que eles não me causaram nenhum problema.
Como eles funcionam juntos: os dados de arquivo no BTRFS são armazenados em extensões, que são longas seções de blocos sequenciais. Os blocos são todos do mesmo tamanho, geralmente 4K, enquanto as extensões variam em tamanho pelo arquivo real e pelo espaço livre. Por exemplo, se você tem um arquivo com tamanho de 1M, pode ser uma extensão de 256 blocos ou duas extensões de 113 blocos e 143 blocos. Ou dezenas de extensões de todos os tamanhos diferentes, em qualquer combinação. Se você alterar um byte no meio do arquivo, ele copiará a extensão que contém o byte alterado. Ele pode criar uma extensão totalmente nova ou dividir essa extensão em três: dois em cada lado do byte alterado, que apontam para os blocos originais inalterados, e um com os novos dados.
A maneira como a compressão se encaixa, de acordo com o wiki btrfs, é que a compressão é feita em uma base bloco por bloco (tamanho 4K), em grupos de blocos de até 128K de tamanho. Portanto, o arquivo não é armazenado em um longo fluxo compactado; Ele é armazenado como seções de blocos compactados. Quando você altera um byte no meio do arquivo, a maioria do arquivo em blocos compactados é intocado. O bloco compactado e, possivelmente, alguns blocos em torno dele até 128K, são copiados e recompactados, e a lista de extensões é atualizada como qualquer outra gravação COW. Nos sistemas atuais, a compactação de 4K ou 128K é trivial, portanto, não há penalidade de desempenho.
Como o ajuste do mapa de extensão do arquivo é uma parte normal da funcionalidade COW, não há diferença significativa em saber se alguns dos blocos de 4K são compactados ou descompactados. (Na verdade, no BTRFS, um arquivo pode incluir qualquer combinação de blocos não compactados, blocos compactados ZLIB e blocos compactados LZO, dependendo de qual opção de compactação estava ativa no sistema de arquivos quando partes do arquivo foram atualizadas.)
Eu não fiz nenhum estudo ou medições exaustivas; "funciona" como eu esperava.