Tenho certeza de que você não passará por btrfs-send / btrfs-receive. Outra opção seria copiar os subvolumes e depois desduplicá-los no destino, mas isso levaria muito tempo.
Para o problema de somente leitura: como esses são instantâneos diários, não são quase todos os volumes somente leitura?
Eu faria um
$btrfs subvolume create /subvolumeA/source
$for i in /filesystemA/subvolume*; do btrfs subvolume snapshot -r $i /filesystemA/source/$i; done
Agora você tem todos os subvolumes em / filesystemA / source / readonly.
Agora você poderia enviá-los em um loop incrementalmente com btrfs-send com a instrução pai para o destino.
Se alguns dos instantâneos devem ser graváveis novamente, você pode copiar o conteúdo destes para um novo subvolume gravável usando cp --reflink
.