Com relação à opção nodatacow , o artigo de Ohad Rodeh intitulado BTRFS: O sistema de arquivos B-tree do Linux afirma:
It cancels copy-on-write for data blocks, unless there is a snapshot.
Não há problema em criar um instantâneo de um subvolume montado com nodatacow . Mas como cow é necessário para criar um snapshot, quando você cria um em um subvolume com nodatacow ele essencialmente irá ignorar nodatacow ; agindo como normalmente faria.
Isso, no entanto, traz uma questão interessante: o nodatacow é ignorado permanentemente? Criar um instantâneo de um subvolume com COW desativado, reativar COW até que seja manualmente desativado novamente?
Felizmente não. Da lista de discussão do btrfs
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.