On Sat, Aug 16, 2014 at 04:46:23PM -0700, Darrick J. Wong wrote: > On big-endian systems, if the dirent swap routine finds a rec_len that > it doesn't like, it continues processing the block as if rec_len == 8. > This means that the name field gets byte swapped, which means that > salvage will not detect the correct name length (unless the name has a > length that's an exact multiple of four bytes), and it'll discard the > entry (unnecessarily) and the rest of the dirent block. Therefore, > swap the rest of the block back to disk order, run salvage, and > re-swap anything after the salvaged dirent. > > The test case for this is f_inlinedata_repair if you run it on a BE > system. > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Thanks, applied. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html