Hi, it would be nice to have fletcher4 as a faster alternative to sha256: # zfs set dedup=fletcher4,verify tank cannot set property for 'tank': 'dedup' must be one of 'on | off | verify | sha256[,verify]' FROM: http://blogs.oracle.com/bonwick/entry/zfs_dedup ---------------------------------------------------------------------- Given the ability to detect hash collisions as described above, it is possible to use much weaker (but faster) hash functions in combination with the 'verify' option to provide faster dedup. ZFS offers this option for the fletcher4 checksum, which is quite fast: # zfs set dedup=fletcher4,verify tank 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. On systems with a very high data ingest rate of largely duplicate data, this may provide better overall performance than a secure hash without collision verification. ---------------------------------------------------------------------- Regards, vermaden
Responsible Changed From-To: freebsd-bugs->freebsd-fs Over to maintainer(s).
not relevant anymore : fletcher4 is the default (since r259477). Can be closed ?
> not relevant anymore : fletcher4 is the default (since r259477). Can be closed ? Check the message again. Its not about: # zfs set checksum=fletcher4 Its about: # zfs set checksum=fletcher4,verify ... which still does not work: # zfs set checksum=fletcher4,verify sys/TEST cannot set property for 'sys/TEST': 'checksum' must be one of 'on | off | fletcher2 | fletcher4 | sha256' Regards, vermaden
This feature is intentionally removed in OpenSolaris build 128 because fletcher4 is not endianness safe and caused problems for cross-endianness. On the other hand the collision rate is fairly high, making it not suitable as a dedup checksum. We may add some other faster checksum algorithms in the future but it's unlikely that fletcher4 will ever be added back as a dedup checksum.
Ok, so You can close this one. Regards, vermaden