HAMMER - Fix mirroring between 32 and 64-bit machines
authorMichael Neumann <mneumann@ntecs.de>
Sun, 21 Feb 2010 11:39:26 +0000 (12:39 +0100)
committerMichael Neumann <mneumann@ntecs.de>
Sun, 21 Feb 2010 11:39:26 +0000 (12:39 +0100)
commitc7380858c7d940d981d93b5e17984bc652a3cb5c
tree5fbf82cefe61e174c9b8e2ba6a4df89cd4a77192
parented7b872c981425ba9fb0c96aa1a3523e6753f75c
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
sys/vfs/hammer/hammer_disk.h