He dividido mi disco en dos particiones btrfs: una está montada como / (dev/sda1)
y la segunda como /home (/dev/sda2)
.
Hice mi instantánea 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
Después de eso, configuré mi init
instantánea como predeterminada y reinicié el sistema. Como quería que la init
instantánea se mantuviera limpia, decidí hacer una instantánea y llamarla current
:
mount -o subvolid=0 /dev/sda2 /home/snapshots/mnt
btrfs subvolume snapshot /home /home/snapshots/mnt/snapshots/current
Funcionó, pero después de crear current
el subvolumen predeterminado y reiniciar el sistema, noté que me ls
daba /home/snapshots
resultados inesperados:
# ls /home/snapshots
init mnt
# ls /home/snapshots/init
#
La pregunta es: ¿por qué está init
visible la carpeta? Mi intuición es que la init
instantánea se crea en un subvolumen con ID 0 y solo debería ser visible desde allí.
Respuesta1
Cuando se crea una instantánea de un subvolumen determinado, todos los subvolúmenes que contiene (en el sentido de estar adjuntos en el árbol de archivos) se tratan como directorios vacíos. De ahí el comportamiento. Puedes simplemente eliminarlos de la instantánea, sin pérdida de datos aquí :)