Created attachment 218061 [details]
> zfs send -R -I pool/test1@snap | zfs recv -F pool/test2
Snapshots deleted on pool/test1 are not deleted on pool/test2.
"Works incorrectly" is not a bug report. When reporting a bug to FreeBSD or any other project, you should provide a complete description of the problem, including exact steps to reproduce it, the problem's symptoms, and what you expect to happen instead.
(In reply to Alan Somers from comment #2)
>Snapshots deleted on pool/test1 are not deleted on pool/test2.
> zfs create pool/test1
> zfs snap pool/test1@snap1
> zfs send -R pool/test1@snap1 | zfs recv -F pool/test2
> zfs snap pool/test1@snap2
> zfs send -R -I pool/test1@snap1 pool/test1@snap2 | zfs recv -F pool/test2
> zfs destroy pool/test1@snap1
> zfs snap pool/test1@snap3
> zfs send -R -I pool/test1@snap2 pool/test1@snap3 | zfs recv -F pool/test2
^^^ after last step,
@snap1 should also be deleted on pool/test2.
Reproduced on stable/12 at r366189M. Cannot reproduce on head.
(In reply to Alan Somers from comment #4)
HEAD doesn't have this typo.
Created attachment 218957 [details]
Fix error merging r354116 from OpenZFS
When we merged 4c0883fb4af0d5565459099b98fcf90ecbfa1ca1 from OpenZFS (svn r354116), there were some merge conflicts. One of those was resolved incorrectly, causing "zfs receive" to fail to delete snapshots that a "zfs send -R" stream has deleted.
This change corrects that merge conflict, and also reduces some harmless diffs vis-a-vis OpenZFS that were also introduced by r354116. Direct commit to stable/12 because head has moved on to OpenZFS.