sanoid
sanoid copied to clipboard
Syncoid fails with: "Cannot sync now: pool/dataset is already target of a zfs receive process"
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.
should be fixed with #768