I am trying to copy an entire filesystem between 2 machines.
Based on documentation -R on zfs send should
"Generate a replication stream package, which will replicate the specified file system, and all descendent file systems, up to the named snapshot."
but instead I am getting error Error: Unsupported flag with filesystem or bookmark.
Here is my use case (I already have zfs/logs filesystem):
zfs create zfs/logs/project-1
zfs create zfs/logs/project-1/branch-1
zfs create zfs/logs/project-1/branch-2
dd if=/dev/urandom of=/zfs/logs/project-1/branch-1/test1.bin bs=16M count=16
dd if=/dev/zero of=/zfs/logs/project-1/branch-1/test2.bin bs=16M count=16
zfs snapshot zfs/logs/project-1/branch-1@test
zfs clone zfs/logs/project-1/branch-1@test zfs/logs/project-1/branch-3
zfs clone zfs/logs/project-1/branch-1@test zfs/logs/project-1/branch-4
This creates following filesystem:
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zfs 1.00G 673G 104K /zfs
zfs/logs 1.00G 673G 144K /zfs/logs
zfs/logs/project-1 256M 673G 112K /zfs/logs/project-1
zfs/logs/project-1/branch-1 256M 673G 256M /zfs/logs/project-1/branch-1
zfs/logs/project-1/branch-2 96K 673G 96K /zfs/logs/project-1/branch-2
zfs/logs/project-1/branch-3 0B 673G 256M /zfs/logs/project-1/branch-3
zfs/logs/project-1/branch-4 0B 673G 256M /zfs/logs/project-1/branch-4
Now I tried to copy it to another one (on local machine for tests, but I will be doing it over ssh later on)
# zfs unmount zfs/logs/project-1
# zfs send -R zfs/logs/project-1 | zfs recv zfs/logs/project-3
Error: Unsupported flag with filesystem or bookmark.
cannot receive: failed to read from stream
What I expected:
I expected a new filesystem to be created with its data to be deduplicated (branch-3 and branch-4 still use no disk space since they are clones of branch-1)
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zfs 1.00G 673G 104K /zfs
zfs/logs 1.00G 673G 144K /zfs/logs
zfs/logs/project-1 256M 673G 112K /zfs/logs/project-1
zfs/logs/project-1/branch-1 256M 673G 256M /zfs/logs/project-1/branch-1
zfs/logs/project-1/branch-2 96K 673G 96K /zfs/logs/project-1/branch-2
zfs/logs/project-1/branch-3 0B 673G 256M /zfs/logs/project-1/branch-3
zfs/logs/project-1/branch-4 0B 673G 256M /zfs/logs/project-1/branch-4
zfs/logs/project-3 256M 673G 112K /zfs/logs/project-3
zfs/logs/project-3/branch-1 256M 673G 256M /zfs/logs/project-3/branch-1
zfs/logs/project-3/branch-2 96K 673G 96K /zfs/logs/project-3/branch-2
zfs/logs/project-3/branch-3 0B 673G 256M /zfs/logs/project-3/branch-3
zfs/logs/project-3/branch-4 0B 673G 256M /zfs/logs/project-3/branch-4
What am I doing wrong?