HomeFreeBSD

ZFS: fix spurious EBUSY after zfs receive to an existing dataset

Description

ZFS: fix spurious EBUSY after zfs receive to an existing dataset

If you do a "zfs send -p <src> | zfs receive -F <dst>" to an existing but
empty dataset, the receive will complete successfully but spuriously fail
with exit status 1 and the message "cannot mount 'pool/dataset': mountpoint
or dataset is busy".

The root cause is a merge error made in r344569 and MFCed in r345578, which
merged changes a10d50f999 and e63ac16d25 from ZoL. The merge:

  • failed to flip a == to an != like the upstream change did, and
  • Left out one chunk

Direct commit to stable/12 because head has moved on to OpenZFS.

PR: 251694
Reviewed by: bapt
Sponsored by: Axcient

Details

Provenance
asomersAuthored on
Parents
rS368490: dmar: reserve memory windows of PCIe root port
Branches
Unknown
Tags
Unknown