Странное поведение иерархических снимков

Странное поведение иерархических снимков

Я разделил свой диск на два раздела Btrfs: один смонтирован как / (dev/sda1), второй как /home (/dev/sda2).

Я сделал свой первоначальный снимок /home:

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

После этого я сделал свой initснимок по умолчанию и перезагрузил систему. Поскольку я хотел, initчтобы снимок оставался чистым, я решил сделать снимок и назвать его current:

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

Это сработало, но после создания currentподтома по умолчанию и перезагрузки системы я заметил, что lsон /home/snapshotsдает мне неожиданные результаты:

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

Вопрос: почему initпапка видна? Моя интуиция подсказывает, что initснимок создан на подтоме с идентификатором 0 и должен быть виден только оттуда.

решение1

Когда делается снимок заданного подтома, все содержащиеся в нем подтома (в смысле прикрепления к файловому дереву) рассматриваются как пустые каталоги. Отсюда и такое поведение. Вы можете просто удалить их из снимка, никакой потери данных здесь нет :)

Связанный контент