A few days ago ZSTD v 1.5.6 was released[1], but we still have two years old ZSTD v1.5.2 in the base. Zstandard is developed under Facebook's eye so likely it's backdoor-prone. Delaying updates for such a long time is not optimal considering speed improvements and other benefits from the upgrade. 1. https://github.com/facebook/zstd/releases/tag/v1.5.6
Somewhat related: there is an even older version of zstd bundled with OpenZFS. The bundled copy (except the wrapper) should be removed and we should have only one copy in the source tree.
PR was submitted on April 1 and after this date, all suggestions but backdoor pronity are still legitimate.
(In reply to Xin LI from comment #1) ZFS intentionally keeps older versions of compressors (decompressors can be updated) to produce identical results when needed (L2ARC on system with uncompressed ARC is the most known).
“pronity” is not a word, and I don't think “prone” means what you think it means: https://www.merriam-webster.com/dictionary/prone
(In reply to Dag-Erling Smørgrav from comment #4) >“pronity” is not a word, and I don't think “prone” means what you think it >means: https://www.merriam-webster.com/dictionary/prone Maybe it's not a word but it's still a thing[1], anyway, it was partially April Fool's PR, so please exclude this sentence from the original bug report as a post-factum errata: "Zstandard is developed under Facebook's eye so likely it's backdoor-prone." (In reply to Alexander Motin from comment #3) >ZFS intentionally keeps older versions of compressors My report refers to sys/contrib/zstd. Bytes under sys/contrib/openzfs/module/zstd are derived from OpenZFS and most ZFS users know that they probably have a good reason for denying updates. 1. https://en.wiktionary.org/wiki/pronity
(In reply to Alexander Motin from comment #3) For future reference in case someone wanted to give this a shot, the concerns at OpenZFS[1] was that different versions of zstd may [2] generate different output for the same data. When compressed ARC is disabled (enabled by default), ARC would only have a copy of uncompressed data, but the MAC was calculated against compressed data, so arc_hdr_authenticate() would see a mismatch because it's now using a newer version of zstd to compress the data (for performance reasons, because re-compression is faster than reading the data back from disk). [1] https://github.com/openzfs/zfs/pull/11367#pullrequestreview-559645117 further explained in https://github.com/openzfs/zfs/pull/11367#issuecomment-753517958 [2] https://github.com/facebook/zstd/issues/999#issuecomment-359538229
(In reply to Dag-Erling Smørgrav from comment #4) > “pronity” is not a word I think it's a perfectly cromulent word, and at any rate if Shakespeare could make up his own words then so can Marek.
pronity: noun Proneness; propensity. It *is* a word. It's been in use since 1913. If you happen to have a copy of the Websters dictionary with a print/publishing date of 1913. You'll find it there. Do Note; it will need to be an American-English dictionary. Sorry. I couldn't resist. :) --Chris