sanoid icon indicating copy to clipboard operation
sanoid copied to clipboard

Syncoid fails with: "Cannot sync now: pool/dataset is already target of a zfs receive process"

Open sotiris-bos opened this issue 2 years ago • 1 comments

Hello, I have automated my ZFS backups with syncoid and systemd timers.

I got a notification that the hourly local syncoid backup failed.

I ran the command manually on the terminal and the output I got is the one mentioned in the title.

The trouble is that pool/dataset was not a target of a zfs receive process at the time, but it was a source to a third (remote) target (A->B->C). I confirmed that by searching htop for zfs receive processes from a root terminal.

Does syncoid not differentiate between zfs send and zfs receive? Can I not run a send and a receive on the same dataset simultaneously?

# syncoid --version
/usr/local/sbin/syncoid version 2.0.3
(Getopt::Long::GetOptions version 2.52; Perl version 5.34.1)

Edit: Syncoid also fails if there is a dataset with a different "prefix" but same "suffix", the opposite of this: https://github.com/jimsalterjrs/sanoid/issues/384

If there is a dataset named tank/example and a dataset named tank2/tank/example, syncoid thinks tank/example is busy when tank2/tank/example is busy.

sotiris-bos avatar May 07 '22 12:05 sotiris-bos

should be fixed with #768

phreaker0 avatar Sep 18 '22 21:09 phreaker0