For a btrfs sub-volume, I have a simple incremental backup created from two stages:
btrfs send old/@ > base.btrfs
btrfs send new/@ -p old/@ > update.btrfs
The two source sub-volumes are snapshots captured at separate times from the same actively mounted sub-volume.
On the target, I attempt to restore:
btrfs receive ./ < base.btrfs
btrfs receive ./ < update.btrfs
The expectation is that the prior command would create a restored snapshot of the initial backup stage and that the latter would apply the further incremental stage.
The prior command succeeds, but the latter fails:
ERROR: creating snapshot ./@ -> @ failed: File exists
Since it is obvious that I cannot usefully apply the latter stage to a target that does not exist, I am puzzled about why the process performs this check, as well as what is expected to have success applying the update.
How may I apply the update stage to the target generated by restoring the initial stage?