-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
System information
| Type | Version/Name |
|---|---|
| Distribution Name | Debian |
| Distribution Version | 9.4 |
| Linux Kernel | 4.9.0-6-amd64 |
| Architecture | amd64 |
| ZFS Version | 0.7.8 |
| SPL Version | 0.7.8 |
Describe the problem you're observing
Wanted to test migrating a dataset over to using checksum=edonr, so I set up a dataset dst/testbed with checksum=edonr on a pool with feature@edonr=enabled, and then ran:
zfs send -Re source/dataset@lastsnap | zfs recv -v -x checksum -e dst/testbed
It gets through the oldest snapshot, "one-and-done", then apparently while transferring the next snapshot, "zfs-auto-snap_weekly-2016-11-06-1147", it dies with:
internal error: Invalid argument
Aborted
At that point, zfs list -t all -r dst/testbed says:
NAME USED AVAIL REFER MOUNTPOINT
dst/testbed 23.5G 2.94T 96K /dst/testbed
dst/testbed/3ds_sd 23.5G 2.94T 23.5G /dst/testbed/3ds_sd
dst/testbed/3ds_sd@one-and-done 0B - 23.5G -
Strangely, if I then run
zfs send -Re -I dst/testbed/3ds_sd@{one-and-done,lastsnap} | zfs recv -v -x checksum -e dst/testbed
or just
zfs send -Re -i dst/testbed/3ds_sd@{one-and-done,zfs-auto-snap_weekly-2016-11-06-1147} | zfs recv -v -x checksum -e dst/testbed
it will progress to completion unremarkably.
Removing the -e flag from send doesn't affect the initial failure.
I tried using -s to make an easily resumable failure, but there's no receive-resume-token generated when receive aborts. Oh well.