Skip to content

zfs send -R fails, but subsequent -I succeeds #7576

@rincebrain

Description

@rincebrain

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions