Stefan Fuhrmann <stefan.fuhrm...@wandisco.com> writes: > On Sun, Mar 2, 2014 at 2:54 AM, Philip Martin > <philip.mar...@wandisco.com>wrote: > >> There is a problem with the FNV1a checksums in format 7: the on-disk >> representation for big-endian systems, like SPARC, is different from >> that of little-endian systems, like x86. Both systems calculate the >> same checksum value, however the checksum code calls htonl() before >> returning the value to the caller. On SPARC this has no effect and on >> x86 it reverses the byte order, changing the value. If we were to write >> the resulting memory directly to disk as a block of data this would be >> good because the disk representations would be the same, but that is not >> what happens. The value is passed to encode_uint() which uses arithmetic >> to write out a representation of the bytes. Since the htonl() call >> changes the x86 value this means the disk representation changes.
> Committed with a few addition as r1573371 and r1573375. This changes the on-disk representation for the unreleased FSFS format 7 on little-endian systems, that's probably most systems. Anyone with repositories in this format needs to dump/load. -- Philip Martin | Subversion Committer WANdisco // *Non-Stop Data*