32 to 64-bit Hammer mirroring fixed


Michael Neumann has fixed the ability to stream Hammer data between 32 and 64 bit systems.  However, this is a change to 64-bit systems that requires them to match; make sure that you are not mixing 64-bit systems built before and after this commit on the 21st.

I can’t find the commit message in the mail archive, so I’ll quote it here:

HAMMER - Fix mirroring between 32 and 64-bit machines

    We need to pack struct hammer_pseudofs_data as it had differing sizes
    on 32-bit vs. 64-bit machines. As this structure is send over-the-wire
    this lead to an early abort in the hammer mirroring code (cmd_mirror.c)
    when mirroring a PFS from a 32-bit machine to a 64-bit machine or vice
    versa as it sanity checks the packets it gets.

    Even so the structure is stored on-media, the change in size is no
    issue as the tail is zero-padded with reserved fields.

    WARNING:

        After this change, mirroring between 64-bit machines predating
        this commit and updated 64-bit machines will no longer work.
        PLEASE UPDATE them all in one go or leave them unmodified.
        32-bit machines are not affected at all, as this commit does
        not change the size of the structure for 32-bit machines.

    Discussed-with: Matthew Dillon
Posted by     Categories: Committed Code, DragonFly, Hammer     0 Comments
0 Comments on 32 to 64-bit Hammer mirroring fixed

Respond | Trackback

Respond

Comments

Comments