Pelo que entendi, os subvolumes btrfs compartilham o mesmo sistema de arquivos "storage", então fiquei surpreso em saber que mover arquivos entre subvolumes diferentes é uma operação cara, como se mover entre sistemas de arquivos diferentes (copy + delete).
Fiquei especialmente surpreso quando alguém sugeriu esta solução alternativa: copiar arquivos entre subvolumes e depois excluir os originais. Diz-se que esta é uma operação barata (movendo-se apenas em metadados). Como é que subvolumes diferentes podem compartilhar blocos de dados ao usar COW, mas não na operação mais fácil de mover dados?
cp --reflink
entre dois subvolumes, fui forçado a montar o subvolume de nível superior e emitir o cp
comando dentro desse namespace , caso contrário, cp
sairia com um erro dizendo...Invalid cross-device link
mv
tentará um reflink antes de retornar a uma cópia padrão ( changelog ).