HomeFreeBSD

Fix cross-endian interoperability of zstd

Description

Fix cross-endian interoperability of zstd

It turns out that layouts of union bitfields are a pain, and the
current code results in an inconsistent layout between BE and LE
systems, leading to zstd-active datasets on one erroring out on
the other.

Switch everyone over to the LE layout, and add compatibility code
to read both.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
Closes #12008
Closes #12022

Details

Provenance
rincebrain_gmail.comAuthored on Aug 30 2021, 9:13 PM
GitHub <noreply@github.com>Committed on Aug 30 2021, 9:13 PM
Parents
rGc3cb57ae47b3: ZTS: Enable punch-hole tests on FreeBSD
Branches
Unknown
Tags
Unknown