Comportamento estranho de instantâneos hierárquicos

4

Eu dividi meu disco 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, fiz meu padrão de instantâneo init e reinicializei o sistema. Como queria que o snapshot init permanecesse limpo, decidi fazer um snapshot dele e chamá-lo de current :

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

Funcionou, mas depois de fazer o current default subvolume e reinicializar o sistema, notei que ls on /home/snapshots me deu resultados inesperados:

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

A pergunta é: por que a pasta init está visível? Minha intuição é que o instantâneo init é criado no subvolume com o id 0 e deve estar visível somente a partir dele.

    
por houen 27.11.2013 / 14:46

1 resposta

3

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

    
por 06.12.2013 / 14:43

Tags