zfs send from an ancient system

Daniel O'Connor darius at dons.net.au
Mon Dec 7 07:49:28 UTC 2020

Hi everyone,
I am trying to migrate an ancient (FreeBSD 8.2!) ZFS system to something newer (12.2). I was hoping to be able to zfs send | zfs recv, however I get this..
root at newsystem:~ # ssh root at oldsystem zfs send tank/www at 20201201-0902 | zfs recv -d tank/Old
cannot receive new filesystem stream: invalid backup stream

I have also tried zfs send to a file, copying over and verifying they are identical, but I get the same result.

The new system's zstreamdump seems happy with the stream:
[midget 18:14] ~ >zcat /tmp/test.gz| zstreamdump
BEGIN record
        hdrtype = 1
        features = 0
        magic = 2f5bacbac
        creation_time = 5fc49191
        type = 2
        flags = 0x0
        toguid = 54852dc9f8234af4
        fromguid = 0
        toname = www at 20201201-0902
END checksum = 100209f0a087fed/dd40d3fa795d846e/ae2049c273df5121/f012e76312cbb2a3
        Total DRR_BEGIN records = 1
        Total DRR_END records = 1
        Total DRR_OBJECT records = 12961
        Total DRR_FREEOBJECTS records = 2820
        Total DRR_WRITE records = 13565
        Total DRR_WRITE_BYREF records = 0
        Total DRR_WRITE_EMBEDDED records = 0
        Total DRR_FREE records = 28490
        Total DRR_SPILL records = 0
        Total records = 57838
        Total write size = 148137472 (0x8d46600)
        Total stream length = 169604120 (0xa1bf418)

Is there some debugging that can be enabled to get some idea about what's going wrong? 'dmesg' doesn't show anything on the sender or receiver side.

I am sure I have done this in the past from this machine, unfortunately I don't have the receiving machine any more as it got repurposed.


PS I am well aware of the warning in the man page about send format.

Daniel O'Connor
"The nice thing about standards is that there
are so many of them to choose from."
 -- Andrew Tanenbaum

More information about the freebsd-hackers mailing list