System information
| Type |
Version/Name |
| Distribution Name |
FreeBSD |
| Distribution Version |
15.0-RELEASE-p11 |
| Kernel Version |
15.0-RELEASE-p11 |
| Architecture |
amd64 |
| OpenZFS Version |
zfs-2.4.3-1 |
Describe the problem you're observing
When receiving an incremental ZFS send stream with both -p (include properties) on the send side and -x (exclude property) on the receive side, the excluded property is not reliably ignored. Instead, it alternates between being set and cleared on the destination with each successive incremental receive.
Describe how to reproduce the problem
Create test datasets
zfs create root/test
zfs create root/test/src
zfs create root/test/dst
Set a property to exclude on receive
zfs set refreservation=1G root/test/src
Initial full send/receive (property correctly excluded)
zfs snapshot root/test/src@snap_0
zfs send -p root/test/src@snap_0 | zfs receive -e -x refreservation root/test/dst
After this, root/test/dst/src has no refreservation set (correct)
First incremental
zfs snapshot root/test/src@snap_1
zfs send -p -i root/test/src@snap_0 root/test/src@snap_1 | zfs receive -e -F -x refreservation root/test/dst
After this, refreservation=1G appears on root/test/dst/src (BUG: should still be inherited)
Second incremental
zfs snapshot root/test/src@snap_2
zfs send -p -i root/test/src@snap_1 root/test/src@snap_2 | zfs receive -e -F -x refreservation root/test/dst
After this, refreservation is cleared again (back to inherited value)
This alternating pattern repeats indefinitely.
System information
Describe the problem you're observing
When receiving an incremental ZFS send stream with both -p (include properties) on the send side and -x (exclude property) on the receive side, the excluded property is not reliably ignored. Instead, it alternates between being set and cleared on the destination with each successive incremental receive.
Describe how to reproduce the problem
Create test datasets
Set a property to exclude on receive
Initial full send/receive (property correctly excluded)
After this, root/test/dst/src has no refreservation set (correct)
First incremental
After this, refreservation=1G appears on root/test/dst/src (BUG: should still be inherited)
Second incremental
After this, refreservation is cleared again (back to inherited value)
This alternating pattern repeats indefinitely.