Não tenho experiência com btrfs, mas é anunciado que é possível desduplicar arquivos.
No meu aplicativo, eu precisaria duplicar árvores de diretório inteiro.
Pelo que aprendi, o btrfs apenas desduplica em algumas postagens, não imediatamente. Mesmo o uso cp
não parece desencadear nenhuma deduplicação (pelo menos, df
mostra um aumento no uso do disco no tamanho dos arquivos copiados).
Posso evitar mover dados completamente e dizer btrfs
diretamente para duplicar um arquivo em outro local, basicamente apenas clonando seus metadados?
Em essência, semelhante a um hardlink, mas com metadados independentes (permissões, tempos de modificação, ...).
cp --reflink=always
, o resultado da perspectiva do usuário será dois arquivos completamente independentes em todos os aspectos. O fato de o sistema de arquivos subjacente estar abstraindo que via cópia na gravação é apenas um detalhe de implementação. Você não recebe "um link físico, mas com metadados independentes". Que eu saiba, o btrfs ainda não faz deduplicação automática. Eu acho que é um plano futuro, mas não sou positivo nisso.
cp --reflink=always
.