If
CoW
happens once to some file, it keeps happening forever. But I might be wrong of course.
Eu acho que você está errado. Eu encontrei essa pergunta sobre tirar instantâneos de um volume BTRFS montado com nodatacow
. Há uma citação lá (da lista de discussão do BTRFS ) que parece crucial para o seu caso:
On a NOCOW file the first write to a fileblock (4096 bytes) after a snapshot must still be COW, because the snapshot locks the old version in place, and now the fileblock has changed, so it MUST be written elsewhere despite the NOCOW in ordered to keep the snapshot as it was. However, the file does retain the NOCOW attribute and additional writes to the same fileblock will be in-place... until the next snapshot of course.
Parece que a opção nodatacow
mount oferece exatamente o que você deseja. Basta lembrar que existem limitações:
nodatacow
Do not copy-on-write data for newly created files, existing files are unaffected. This also turns off checksumming! […] potentially getting partially updated files on system failures. […] switches off compression!
Fonte: Opções de montagem do BTRFS .