Does zfs send scrub the sent data?

To my knowledge ZFS as a filesystem checks for data errors during each access to the data.

I would therefore assume that it actually performs something like a scrub before sending the data thereby ensuring the integrity of the sent data.

My question is: Does it really? And if not what additional benefit do I get from performing a zfs scrub before a zfs send regarding that particular dataset.


Yes, every time you read a block of data into ram, assuming checksumming is enabled, ZFS calculates and a checksum of that data and compares it to the checksum that was calculated before that block of data was written to the disk.

ZFS does not perform a scrub automatically prior to a zfs send operation. The main advantage of you doing this prior to the send would be to maximize the likelihood that the send operation will proceed without error.