<p>&gt;<br>&gt; I don&#39;t recommend you pull the usb disk out while the filesystem is still<br>&gt; mounted (if you can avoid it).<br>&gt;</p>
<p>Doing that to emulate power loss scenario our device might experience.</p>
<p>&gt;<br>&gt; I would start by looking through the change history for fs/xfs/xfs_log_recover.c<br>&gt; and paying particular attention to anything to do with inode transactions.  <br>&gt;</p>
<p>Not quite familiar with XFS code :(</p>
<p>&gt;<br>&gt; Or try some intermediate kernels and see if you can narrow the fix down to a set of<br>&gt; changes.<br>&gt;</p>
<p>I&#39;ll try to bisect (It will take some time...)</p>
<p>&gt;<br>&gt; # mount /dev/sda1 /mnt/<br>&gt; UDF-fs: No VRS found<br>&gt; XFS mounting filesystem sda1<br>&gt; Starting XFS recovery on filesystem: sda1 (dev: sda1)<br>&gt; Filesystem &quot;sda1&quot;: xfs_inode_recover: Bad inode magic number, dino ptr<br>
&gt; = 0xc8266700, dino bp = 0xc8281b40, ino = 0</p>
<p>Because XFS log is OK to 2.6.28 system, which means the log is correct in itself.<br>Would it be easy for you to debug the problem by compare 2.6.10 log recovery code fail point and the corresponding 2.6.28 log record?</p>

<p>Thanks<br>Eddy</p>