[Bug 252240] "zfs send -R -I | zfs receive -F" not destroying snapshots that don't exist on the sending side
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Dec 28 21:06:33 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252240
Bug ID: 252240
Summary: "zfs send -R -I | zfs receive -F" not destroying
snapshots that don't exist on the sending side
Product: Base System
Version: 12.2-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: lew at perftech.com
This is similar to 169964, but that was due to lack of the -R option, so I'm
submitting this as a new bug.
This appears to be new to 12.2-RELEASE. If the receiving side is running 12.1
or 12.0, everything works properly, but if the receiving side is running 12.2,
then snapshots that don't exist on the sending side are not destroyed on the
receiving side.
The version of the sending side doesn't appear to make any difference, the
problem appears to be strictly on the receive side, and consistently fails with
12.2 and withs with 12.1 or prior. In fact, on a given system, running
freebsd-update to upgrade from 12.1 to 12.2 causes the problem to appear, and
reverting back to 12.1, the problem disappears.
Sample commands:
zfs create ds/test
zfs snapshot ds/test at 1
zfs snapshot ds/test at 2
zfs snapshot ds/test at 3
zfs snapshot ds/test at 4
zfs snapshot ds/test at 5
zfs send -R ds/test at 5 | ssh desthost zfs receive -F ds/test
desthost now has the filesystem and all snapshots.
zfs snapshot ds/test at 6
zfs send -R -I ds/test at 5 ds/test at 6 | ssh desthost zfs receive -F ds/test
desthost now has the test at 6 snapshot
zfs destroy ds/test at 2
zfs destroy ds/test at 3
zfs send -R -I ds/test at 5 ds/test at 6 | ssh desthost zfs receive -F ds/test
If desthost is running 12.2, then test at 2 and test at 3 remain. If desthost is
running 12.1 or 12.0, then test at 2 and test at 3 are destroyed.
And it doesn't matter whether the snapshot has previously synced or not, for
example:
zfs snapshot ds/test at 7
zfs send -R -I ds/test at 6 ds/test at 7 | ssh desthost zfs receive -F ds/test
still doesn't cause @2 and @3 to get destroyed. However,
zfs send -R -I ds/test at 1 ds/test at 7 | ssh desthost zfs receive -F ds/test
does cause @2 and @3 to get destroyed. But that's not an acceptable
work-around, and this appears to be a regression from prior versions.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list