Comportamento estranho de instantâneos hierárquicos

Comportamento estranho de instantâneos hierárquicos

Dividi minha unidade em duas partições btrfs: uma é montada como / (dev/sda1), a segunda como /home (/dev/sda2).

Eu fiz meu instantâneo inicial de /home:

mkdir -p /home/snapshots/mnt
mount -o subvolid=0 /dev/sda2 /home/snapshots/mnt
btrfs subvolume snapshot /home /home/snapshots/mnt/snapshots/init

Depois disso, tornei meu initsnapshot padrão e reiniciei o sistema. Como eu queria que o initsnapshot permanecesse limpo, decidi fazer um snapshot dele e chamá-lo current:

mount -o subvolid=0 /dev/sda2 /home/snapshots/mnt
btrfs subvolume snapshot /home /home/snapshots/mnt/snapshots/current

Funcionou, mas depois de criar currento subvolume padrão e reiniciar o sistema, percebi que lsisso /home/snapshotsme deu resultados inesperados:

# ls /home/snapshots 
init mnt
# ls /home/snapshots/init
#

A questão é: por que a initpasta está visível? Minha intuição é que o initinstantâneo é criado no subvolume com id 0 e deve ser visível somente a partir daí.

Responder1

Quando o instantâneo de um determinado subvolume é feito, todos os subvolumes contidos nele (no sentido de estarem anexados na árvore de arquivos) são tratados como diretórios vazios. Daí o comportamento. Você pode simplesmente removê-los do instantâneo, sem perda de dados aqui :)

informação relacionada