I'm trying to send my snapshots to my backupserver. But everytime I'm trying to do an incremental backup I'm getting following errormsgs (same happens with -c too):

btrfs send -p /backup/test/backup-2020-05-05_16-0 /backup/test/snapshots/backup-2020-05-05_16-1 | ssh myIP "btrfs receive /backup/test/snapshots/"
At subvol /backup/test/snapshots/backup-2020-05-05_16-1
ERROR: cannot find parent subvolume
At snapshot backup-2020-05-05_16-1

ID 325 gen 5492 top level 264 path test/snapshots/backup-2020-05-05_16-0
ID 329 gen 5496 top level 264 path test/snapshots/backup-2020-05-05_16-1

Am I doing something completely wrong?

  • 1
    Do you already have backup-2020-05-05_16-0 on the backupserver? Commented May 8, 2020 at 7:27
  • That cannot be the problem, as btrfs tells you so in that case. But are there any news on this? I got the very same issue without changing my scripts.
    – Thorian93
    Commented Jan 4, 2021 at 16:29

1 Answer 1


as it is btrfs receive that is outputting ERROR: cannot find parent subvolume, it means that while present on the sender side, the UUID is missing on the receiver filesystem (see this mailing list reply).

You have a mix of timestamp and rotation number in the parent backup-2020-05-05_16-0. If the number suffix -0 isn't the same content on the receiver as it is on the sender, then this is the failing reason.

btrfs subvol show will output a Received UUID for the directory on the receiver, compare the UUIDs of the directories on both sides with the same name, UUID on sender should match Received UUID on the receiver.

Scripts should avoid arbitrary numbers in snapshot directories and use microsecond timestamps or an appended hash/the uuid itself to help with auditing. When using pipes, it's not clear where the message comes from, so a slightly more verbose error message would also help to attribute it.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .