Infelizmente, não é possível fazer o bootstrap com nada além de uma operação de envio / recebimento. Transferências incrementais com envio / recebimento dependem de duas coisas:
- Os atributos 'UUID recebido' do filho de subvolume relevante, o volume de destino, devem corresponder corretamente ao atributo 'UUID' dos subvolumes correspondentes na origem. Você pode verificar isso facilmente com o comando
btrfs subvolume show
, mas não é possível definir esses valores antes de modificar diretamente esses valores. - Os blocos no subvolume pai usados para o envio incremental devem corresponder entre a origem e o destino. Em outras palavras, se você estiver enviando uma atualização incremental que tenha alterações no arquivo X, a cópia da versão anterior do arquivo X no volume de destino deverá ser idêntica à cópia original do arquivo X no volume de origem. Estritamente falando,
rsync
deve tecnicamente atender a esse requisito se você não tiver nenhum outro reflexo envolvido além dos snapshots (ou seja, nada jamais usou os iCLTS CLONE_RANGE ou EXTENT_SAME em nada dentro do subvolume pai para a captura instantânea de origem).
Em teoria, é realmente possível contornar ambas as restrições, mas isso exige um esforço significativo e requer um conhecimento de nível muito baixo do BTRFS (e é extremamente arriscado).