Skip to content

zfs receive -x fails to consistently exclude property across incremental receives #18737

Description

@rkojedzinszky

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: DefectIncorrect behavior (e.g. crash, hang)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions