<p>Hello Eric:</p>
<p>&gt;<br>&gt; Well, the fact that you have 2 arches would have been highly relevant in<br>&gt; your first email.  ;)  Is this the old abi or the new?  Guessing old,<br>&gt; based on the alignment issues.<br>&gt;</p>
<div>ARM compiler is producing eabi. The problem lies in: &quot;long long&quot; on arm is 8 bytes aligned, on x86 is 4 bytes aligned. So 4 more bytes are padded before xfs_inode_log_format::ilf_ino on arm.</div>
<div><br>&gt;<br>&gt; Well, packing structures like mad is not a great solution[1] - it needs<br>&gt; to be done carefully &amp; judiciously.  We don&#39;t want to pack structures<br>&gt; that are already aligned on most arches, because this will cause<br>
&gt; performance issues.<br>&gt;</div>
<p>Interesting. Nice tip.</p>
<p>&gt;<br>&gt; But I see above you&#39;ve found a few that were, for various reasons.  Note<br>&gt; that the dir2 types above use a funky &quot;__arch_pack&quot; to conditionally<br>&gt; pack only on arm old abi:<br>&gt;</p>

<p>Get it. Thanks for the reminder.</p>
<p>&gt; <br>&gt; To be honest, I am not certain that this is &quot;worth fixing&quot; - we already<br>&gt; have the requirement that log replay can only be done on an architecture<br>&gt; of the same endianness, and a further requirement that it can only be<br>
&gt; done on architectures with similar alignment rules doesn&#39;t seem so bad.<br>&gt;</p>
<div>Where is the official description of such requirment? The requirment is not obvious to new XFS users, and they should be warned :)</div>
<div><br>Why is such requirment? For backward compatibility?</div>
<div><br>I think the requirment is bad. It inhibit user from exchanging data freely between systems, which is an obvious requirment for file system design.</div>
<p>&gt;<br>&gt; The problem is, if you go off and &quot;fix&quot; this on arm now, you&#39;ll find<br>&gt; that logs created under older arm kernels can&#39;t be replayed on newer arm<br>&gt; kernels and vice versa...<br>
&gt;</p>
<p>Compared with the above restriction(&quot;requirment&quot;), we can afford this :)</p>
<p>Do I miss any other log/metadata needs pack on 2.6.10? </p>
<p>Thanks<br>Eddy</p>