baodrate / snap-sync

Use snapper snapshots to backup to external drive
GNU General Public License v2.0
130 stars 38 forks source link

ERROR: parent subvol is not reachable from inside the root subvol #107

Closed Lyndeno closed 3 years ago

Lyndeno commented 3 years ago

The initial backup with snap-sync works without issues. When running snap-sync again to transfer the diffs between last backup and current time the error occurs with all configs.

$ sudo snap-sync --UUID d364f182-c294-48fc-a0e8-078a7e6c8503 --subvolid 2869 -c "root home plexdb"
...
You selected the disk with uuid=d364f182-c294-48fc-a0e8-078a7e6c8503, subvolid=2869.
The disk is mounted at '/data/snapshots'.

Creating new local snapshot for 'root' configuration...
Will backup //.snapshots/3/snapshot to /data/snapshots/ROOT/root/3//snapshot
Proceed with backup of 'root' configuration [Y/n]?

... creating snapshots for other configs

Performing backups...

Sending incremental snapshot for 'root' configuration...
At subvol //.snapshots/3/snapshot
At snapshot snapshot
ERROR: parent subvol is not reachable from inside the root subvol
Exited due to error on line 484.
exit status: 1
command: $ssh btrfs receive "$backup_location"
bash line: 0
function name:

This occurs with both the default snapper layout as well as the alternative layout suggested on the Arch Wiki

This did not occur on the current version of snap-sync until my root drive corrupted, requiring me to reformat my root drive and send the snapshots to the new root drive. The snapper configs were removed and recreated when I did this so I am not sure that is the issue.

This occurs on snap-sync 0.7-1 from the Arch repos.

Lyndeno commented 3 years ago

It seems that the presence of the old snapshots in the @snapshots_old subvolume was causing a conflict, even though snap-sync created new initial snapshots under @snapshots. Deleting the @snapshots_old subvolume and everything inside it then restarting the backup process causes snap-sync to perform as expected.

Unsure whether this is a snap-sync or a btrfs-progs bug so I will close this.