I recently changed the
checksum property on one of my non-duplicated zfs filesystems to
on (fletcher4) to better support the sending of duplicated replication steams, as in this command
zfs send -DR -I _starting-snaphot_ _ending-snapshot_.
However, the zfs manpage has this to say about
This flag can be used regardless of the dataset’s dedup property, but performance will be much better if the filesystem uses a dedup-capable checksum (eg. sha256).
The zfs manpage also states this about the
Changing this property affects only newly-written data.
I have no desire to trust fletcher4. The tradeoff is that unlike SHA256, fletcher4 is not a pseudo-random hash function, and therefore cannot be trusted not to collide. It is therefore only suitable for dedup when combined with the 'verify' option, which detects and resolves hash collisions.
How can I update the filesystem's checksums, preferably without offlining the system?